找回密码
 立即注册
查看: 743|回复: 2

采用CDC串口后可置位RI使得原串口中断吗?

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:245
  • 最近打卡:2025-05-02 16:43:43

49

主题

129

回帖

1365

积分

金牌会员

积分
1365
发表于 2023-3-26 20:39:15 | 显示全部楼层 |阅读模式
采用STC8H8K64U芯片后使用CDC串口。为了减少对原应用程序的修改,考虑保留原串口1的中断服务程序(适当修改)。在USB接收程序返回之前,人为置位SCON寄存器中的RI,USB接收程序退出后会触发原串口1的中断服务程序吗?处理完后中断退出。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2023-3-27 09:19:18 | 显示全部楼层
这不是把原来的串口1中断服务函数里的数据数处理函数直接移过来,数组指向usb-cdc的那个数组就好了。这样串口1中断和串口数据接收都不需要了,更方便:lol
  • 打卡等级:以坛为家I
  • 打卡总天数:245
  • 最近打卡:2025-05-02 16:43:43

49

主题

129

回帖

1365

积分

金牌会员

积分
1365
发表于 2023-3-27 18:01:23 | 显示全部楼层
今天试验了一上午,结论如下:
1. 采用USB的CDC串口后,在USB端点中断接收数据程序“void usb_out_ep1()”最后将SxCON的RI置1
2. 对应的串口中断服务程序启动,中断程序结束后退出。
3. 如果要使用串口1中断服务程序,应该将串口1名义上转移到其它引脚,尽管实际并不使用该引脚。
4. 如果考虑除了USB口可能还要使用串口1和串口2,可使用串口3或4中断服务程序。只是原来的中断1服务程序开头设置条件编译,换成中断3、4的中断号17或18。
5. 串口中断1-4均可使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-3 00:53 , Processed in 0.165602 second(s), 58 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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