找回密码
 立即注册
查看: 434|回复: 3

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

[复制链接]

1

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-5-20 13:23:48 | 显示全部楼层 |阅读模式
截图202405201323223567.jpg

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

截图202405201323148264.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

积分
1835
发表于 2024-5-20 13:42:20 | 显示全部楼层

2024-05-20_134048.png

2024-05-20_134034.png

回复 支持 反对

使用道具 举报 送花

1

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-5-20 13:56:04 | 显示全部楼层
中断函数怎么编写呢,只用写接收对吗
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-5-20 14:32:10 | 显示全部楼层
接收的话 一般也分两种,,利用中断接收或者DMA接收(如果单片机有的话)。

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

如果利用的DMA,那么只是接收的时候不需要单片机搬运数据。至于怎么分包和上面的一样。
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:43 , Processed in 0.161838 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表