weixin_41925897 2022-10-07 20:09 采纳率: 48%
浏览 26
已结题

Linux关闭串口失败

linux系统下的串口还在发送的时候,我关闭串口close(fd)会造成关闭失败,这样的话我想检测一下是否发送完成了,如何检测串口是否发送完成,谁知道,请教一下。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-09 23:36
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:Linux下多串口错乱的一般解决方案
    • 除此之外, 这篇博客: linux驱动中串口打印调试函数汇总说明中的 2. pr_xxx 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

          在Linux中,为方便书写,使用pr_xxx宏对printk进行了封装。同样,在头文件include/linux/printk.h中,有如下定义:

      #define pr_emerg(fmt, ...) \
      	printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
      #define pr_alert(fmt, ...) \
      	printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
      #define pr_crit(fmt, ...) \
      	printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
      #define pr_err(fmt, ...) \
      	printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
      #define pr_warning(fmt, ...) \
      	printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
      #define pr_warn pr_warning
      #define pr_notice(fmt, ...) \
      	printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
      #define pr_info(fmt, ...) \
      	printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
          
      /* If you are writing a driver, please use dev_dbg instead */
      #if defined(CONFIG_DYNAMIC_DEBUG)
      /* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
      #define pr_debug(fmt, ...) \
      	dynamic_pr_debug(fmt, ##__VA_ARGS__)
      #elif defined(DEBUG)
      #define pr_debug(fmt, ...) \
      	printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
      #else
      #define pr_debug(fmt, ...) \
      	no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
      #endif
      

          使用pr_xxx打印可以省略KERN_DEBUG等宏,其书写格式和应用层的printf一样。调试信息打印使用pr_debug,提示信息打印使用pr_info


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月7日

悬赏问题

  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂