补充: 程序优化 为避免普通发送和中断发送造成冲突(造成死机,复位重启),printf修改为中断发送 写这篇文章的目的呢,如题目所言,我承认自己是一个程序猿.....应该说很多很多学单片机的对于...先不说别的了,,无论是学51的还是32的,,,先问一下大家用串口发送数据的时候是怎么发的???如果发整型的数据是怎么发的??如果发浮点型的是怎么发的????再问大家串口接收数据是怎么接收的????亲们有没有想过自已用的方法是不是最好最好的方法了,反正我认为我自己现在用的方法应该是很好的了,,不说最好…
上一篇链接 http://www.cnblogs.com/yangfengwu/p/8628219.html 先说明一点这种方式,不光对于单片机类的,,对于上位机接收数据同样适用----不骗人的,自己几乎所有的单片机程序,上位机程序,包括现在用的8266,GPRS等等都用这种方式接收数据,如果您还不会用或者不懂......可以这样说这个模板接收对于开发而言简直太实用了....但是请不要直接拿过来就用,请认真的想明白其中的道理,如果您不明白其中的道理,到了别的平台上还是白搭.......... 亲…
在一个物联往项目中,需要java云平台与一个客户端做socket定制协议的通信:然而在第一次测试时,并没有按照预想的那样完成解析.查找资料以后是因为客户端的数据读取方式为小端模式,而java默认采用大端模式. 在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit.但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于 8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一…
目录: 1.MM32F0020简介 2.初始化MM32F0020 UART1和NVIC中断 3.编写MM32F0020 UART1使能中断发送函数 4.编写MM32F0020 UART1中断接收和中断发送函数 5.编写MM32F0020 UART1处理中断接收和UART1使能中断发送函数 6.MM32F0020 UART1中断发送UART1中断接收到的数据到上位机串口助手 提要: 学习MM32F0020 UART1中断接收和UART1中断发送数据,通过上位机串口助手发送8字节的十六进制数据:0x…
目录: 1.MM32F0140简介 2.初始化MM32F0140 UART1和NVIC中断 3.编写MM32F0140 UART1使能中断发送函数 4.编写MM32F0140 UART1中断接收和中断发送函数 5.编写MM32F0140 UART1处理中断接收和UART1使能中断发送函数 6.MM32F0140 UART1中断发送UART1中断接收到的数据到上位机串口助手 提要: 学习MM32F0140 UART1中断接收和UART1中断发送数据,通过上位机串口助手发送8字节的十六进制数据:0x…
有一次做一个东西,为了尽量不占用CPU的处理数据时间,所以就使用DMA接收串口的数据,但是呢问题来了.,,,,,怎么样才能确定接收到了一条完整的数据了,,我们都知道只要打开DMA 那家伙就不停的把接收的数据放到我们指定的地方. 只要接收到一条完整的数据我就该去处理了 关于空闲中断,,,就是说每接收到一条完整的数据就会置位空闲标志位,我们只需要判断空闲标志位是否置一,,就能知道是不是接收到了一条完整的数据 用空闲中断的好处就是,,对于以前我写程序通信都会在数据的后面加上尾,,然后另一个接收的单片机…
目录: 1.MM32F0140简介 2.初始化MM32F0140 UART1空闲中断和NVIC中断 3.编写MM32F0140 UART1中断接收和空闲中断函数 4.编写MM32F0140 UART1发送字节和ASCII字符函数 5.编写MM32F0140 UART1处理空闲中断接收数据函数 6.MM32F0140 UART1发送UART1空闲中断接收到的数据到上位机串口助手 提要: 学习MM32F0140 UART1空闲中断接收数据,通过上位机串口助手发送8字节的十六进制数据:0x55,0x0…
目录: 1.MM32F0020简介 2.初始化MM32F0020 UART1空闲中断和NVIC中断 3.编写MM32F0020 UART1中断接收和空闲中断函数 4.编写MM32F0020 UART1发送字节和ASCII字符函数 5.编写MM32F0020 UART1处理空闲中断接收数据函数 6.MM32F0020 UART1发送UART1空闲中断接收到的数据到上位机串口助手 提要: 学习MM32F0020 UART1空闲中断接收数据,UART1产生空闲中断表示接收完一帧数据,可以通过空闲中断置…
>_<:功能概述: 通过串口PC和单片机通信,可以询问单片机测得的温度,可以询问声呐测距的测量距离,同时把测量温度显示在数码管上. >_<:PC部分 这里com.cpp和com.h是串口通信的函数封装,在主函数中: 刚开始调用封装好的串口通信函数,设置打开串口COM4,波特率设置为9600,超时设置: if(openport("com4")) printf("open comport success\n"); )) printf("…
串口发送部分代码: //通过信号量的方法发送数据 void usart1SendData(CPU_INT08U ch) { OS_ERR err; CPU_INT08U isTheFirstCh; OSSemPend(&Usart1Sem, , OS_OPT_PEND_BLOCKING, NULL, &err);//阻塞型等待串口发送资源 OSSemPend(&Usart1TxBufSem, , OS_OPT_PEND_BLOCKING, NULL, &err);//阻塞型…