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

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

[复制链接]
  • TA的每日心情
    开心
    昨天 15:03
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    35

    主题

    87

    回帖

    765

    积分

    高级会员

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

    使用道具 举报

  • TA的每日心情
    开心
    前天 07:59
  • 签到天数: 101 天

    [LV.6]常住居民II

    41

    主题

    1016

    回帖

    6971

    积分

    荣誉版主

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

    积分
    6971
    QQ
    发表于 2023-3-27 09:19:18 | 显示全部楼层
    这不是把原来的串口1中断服务函数里的数据数处理函数直接移过来,数组指向usb-cdc的那个数组就好了。这样串口1中断和串口数据接收都不需要了,更方便:lol
  • TA的每日心情
    开心
    昨天 15:03
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    35

    主题

    87

    回帖

    765

    积分

    高级会员

    积分
    765
     楼主| 发表于 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, 2024-5-19 20:11 , Processed in 0.056371 second(s), 37 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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