RainEc 发表于 2024-5-20 13:23:48

求助现在用的printf的串口打印初始化,需要接收需要怎么修改呢



现在用的printf的串口打印初始化,需要接收需要怎么修改呢

Lkck8210 发表于 2024-5-20 13:42:20






RainEc 发表于 2024-5-20 13:56:04

中断函数怎么编写呢,只用写接收对吗

_奶咖君_ 发表于 2024-5-20 14:32:10

接收的话 一般也分两种,,利用中断接收或者DMA接收(如果单片机有的话)。

如果利用中断接收,可以把接收的数据保存到一个数组中,再用一个计数变量保存接收了的字节数。
    如果接收的是定长的数据,那么计数变量到达这个定长的数值时,则接收完成。最好置一个标志位,在主函数while循环中轮询这个标志再处理数据。
    如果接收的不定长数据,则需要一种分包的方法,一般用一个定时器,或者单片机有串口接收超时中断。这里如果利用定时器分包,那么在串口中断中接受了一个字节后需要把定时器重新计时。那么当完成接收后,就会进入定时器中断。在定时器中断中最好也是置一个标志位,在主函数里处理数据。

如果利用的DMA,那么只是接收的时候不需要单片机搬运数据。至于怎么分包和上面的一样。
页: [1]
查看完整版本: 求助现在用的printf的串口打印初始化,需要接收需要怎么修改呢