OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5542|回复: 8

STM32串口中断是指收到一个字符就会产生中断吗?大家看看哪种理解正确?

[复制链接]

210

主题

318

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1998
金钱
1998
注册时间
2015-10-27
在线时间
216 小时
发表于 2020-5-26 21:05:23 | 显示全部楼层 |阅读模式
1金钱
假如我设置的是9600波特率、 偶校验、8位数据位、 1位停止位,那么我发的数据是:
理解1:发送数据:"00 01 02 03 AA BB CC",那么此时STM32先收到“00”这个字符时,中断一次,然后“01”再中断,剩下的依次类推吗?就是发这个数据需要7次串口中断吗?

理解2:发送数据:"00 01 02 03 AA BB CC",那么此时STM32先收到“00”这个字符时,中断一次,其余的是进入FIFO吗,然后从FIFO里把数据读出来,每读出一次字符就依次中断一次?

理解3:发送数据:"00 01 02 03 AA BB CC",那么此时STM32全收这些字符后统一只产生一次中断?

大家帮我看看究竟哪种理解是正确的?还是都不正确?

最佳答案

查看完整内容[请看2#楼]

收到一个字符中断一次
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

89

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1286
金钱
1286
注册时间
2020-4-7
在线时间
309 小时
发表于 2020-5-26 21:05:24 | 显示全部楼层
收到一个字符中断一次
回复

使用道具 举报

0

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-12-27
在线时间
0 小时
发表于 2020-5-26 21:05:26 | 显示全部楼层
帮顶!!!!!!!!!!!!!
回复

使用道具 举报

210

主题

318

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1998
金钱
1998
注册时间
2015-10-27
在线时间
216 小时
 楼主| 发表于 2020-5-27 13:31:11 | 显示全部楼层
lv浅陌 发表于 2020-5-27 11:56
收到一个字符中断一次

那如果一次性发了100个字符过来,当STM32第一个字符到来后产生中断一次,那么后面的99个是要做99次中断才能将数据传完?还是将后面99个送到缓冲区里,然后从缓冲区里拿一个中断一次,执行99次中断?
回复

使用道具 举报

12

主题

146

帖子

0

精华

高级会员

Rank: 4

积分
920
金钱
920
注册时间
2018-7-18
在线时间
385 小时
发表于 2020-5-27 15:10:28 | 显示全部楼层
串口中断里面  有个USART_IT_RXNE 中断   是每接收到一个字节 就触发一次中断  
                       有个USART_IT_IDLE  中断   是多个字节接收完成 此时串口空闲了  触发一次中断

你可以两个配合使用  每接收到一个字节 触发中断  然后把数据存入缓冲区  等所有的接收完成  触发空闲中断 此时把缓冲区数据拿出来处理
回复

使用道具 举报

0

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-26
在线时间
99 小时
发表于 2020-5-27 15:13:13 | 显示全部楼层
lili0231 发表于 2020-5-27 13:31
那如果一次性发了100个字符过来,当STM32第一个字符到来后产生中断一次,那么后面的99个是要做99次中断才 ...

100个字符中断100次,只有当前就收的数据其他没有存。要存要写程序保存,参考原子的串口接收,或者串口dma接收,参考论坛其他串口dma接收历程
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2017-2-11
在线时间
306 小时
发表于 2020-5-27 17:40:39 | 显示全部楼层
单个字节接收,效率太低,对主循环任务影响比较大。大数据处理的时候,大部分采用DMA接收+空闲中断。发送的时候也采用DMA发送。本来中断100次,用DMA接收+空闲中断,只需中断一次,效率得到大大提升。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-5-28 01:11:12 | 显示全部楼层
第一个
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-1-15
在线时间
5 小时
发表于 2021-1-20 20:29:25 | 显示全部楼层
wwhh 发表于 2020-5-27 15:10
串口中断里面  有个USART_IT_RXNE 中断   是每接收到一个字节 就触发一次中断  
                        ...

👍
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 16:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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