STM32 USART 实现 SPI 受限
USART是可以做SPI模式的,但是这是一个受限功能,具体来看,USART模式受限于以下: 只能以LSB发送,MSB发送的话需要人工转换. 速率较低,一般在2MHz以下,300Hz以上. CS只能人工控制,不支持硬件控制. 不支持从机SPI模式. 部分型号的USART不...
USART是可以做SPI模式的,但是这是一个受限功能,具体来看,USART模式受限于以下: 只能以LSB发送,MSB发送的话需要人工转换. 速率较低,一般在2MHz以下,300Hz以上. CS只能人工控制,不支持硬件控制. 不支持从机SPI模式. 部分型号的USART不...
有人说以太网真他妈难学,其实,协议都是人为制定的一些标准而已.其实无论发送什么东西(撇开物理层不讲),都是一个一个字节的. 比如串口通信,要跟别人说话,那么直接发数据当然好,但是对方就不知道你什么时候开始说,什么时候说完,自然就有...
使用TrueStudio开发STM32的时候,发现代码逻辑总是错,后来发现是自动重排,涉及重排的两个优化是. -fschedule-insns If supported for the target machine, attempt to reorder instructions to eliminate execution stalls due to requ...
tcpip_init就是LWIP的初始化函数.一般传递tcpip_init( NULL, NULL ),也就是没有用户的init函数. /** * @ingroup lwip_os * Initialize this module: * - initialize all sub modules * - start the tcpip_thread * * @par...
这一个比上一次更进一步,可以POST和GET请求,基本上满足网上的各种网站的API调用.配合cJson能完成各种事情. 因为TCP协议他其实并没法知道上层协议,上层协议其实是TCP协议一定组合后的一些约定方法.新的Web Client方式也更简单. int We...
现在随便的API都是Web的,让我们这些嵌入式平台好累啊. 我写了个test.php,内容简单. <?php echo json_encode($_GET); echo json_encode($_POST); 根据TCP的协议,很简单写的出HTTP访问的方法.我用的是netconn,需要操作系统支持. ui...
UDP不能保证顺序,不能保证先来后到,任何数据包过了路由之后,路由爱怎么对他转发是路由的事情.但是TCP有顺序ID,而且要ACK后才继续说话,这种尴尬的事情就不会发生了. UDP的话,你用最高速度给STM32发数据,比如1000Mbps,他只会忙死,而你不...
有很多非标准函数是标准C,特别是嵌入式C里面没实现的.其中def.c就是做这个.包含以下函数. itoa:这就是数字转字符串,必然比sprintf更快更节约. strnicmp:大小写不敏感,比对两个字符串前n个字符,完全相等返回0,否则返回1. stricmp:大小...
void类型其实不用多说,但是最近有人问起来,就说下. 首先void *是万能类型,但是他只能声明,不能使用,使用之前要转换成可用的类型. void类型的返回,可以用return什么都不加,然后就可以返回了. 如果找不到具体合适的定义,不妨定义为void ...
netconn_send只用于UDP和RAW(其中RAW还没什么人用),但是netconn_recv是用于TCP,UDP都适合的. 可见netconn_recv针对UDP就是直接调用了netconn_recv_data. 进去后就是等邮箱,如果没有东西,自然就超时了. 那邮箱又是怎么解锁的呢?这就...