例程没有,自己写。
首先,波特率是基础。设置什么的都是基础。列一个数组。一个指针,指向数组头。
然后,你写个中断接收函数。串口收一个字节就好。把接到的字节用指针塞数组里面去然后指针++。
设置一个定时器,溢出时间大于能收到2字节数据的时间。然后,每接收到一字节清零这个定时器。。
当定时器溢出的时候,表示你很久很久没收到数据了。那么说明数据可能传完了。或者根本没传。所以,你可以读一下当前数据指针移到哪里了?如果是不为0的。那么,就是有数据存在。
然后啊。。。数据就在你控制之下了。
数组头两个字节看看是不是标志字节。不对的丢弃。对的下一步。。
把剩下数组里的东西挨个读出来就是了。
最后,打扫战场,把该立的flag立起来。做点别的处理。数据指针复位到头。。。等等等等的。
首先,你要明确在C语言中读取内存地址是基于指针的。
3.比如读取内存地址0x22中的数据
C语言中对于内存的访问是基于指针的,这个毋庸置疑,具体操如下
unsigned int *p= (unsigned int*)0x22 ;//定义指针,并且使指针指向了0x22这个 内存地址;
那么*p就是最终你要读取的数据了。
4.至于如何通过串口显示到电脑我就不多说了(这不是难点),数据你都知道了,写到串口 缓冲区,在串口调试助手下就可以看到。
5.虽然没有贴出具体代码,但这里面的思想可以让你解决更多问题。
需要提供串口的的字长:8位还是16位?然后配置52串口单片机的控制寄存器。然后设置一个缓存数组,串口中断产生后。把rx寄存器中的值写入缓存,缓存大小根据协议的字长来定。