串口调试(一)
来源:互联网 发布:js判断ios系统版本号 编辑:程序博客网 时间:2024/05/16 01:10
由于要接多个UART设备,所以用模拟开关复用串口,用I/O线控制模拟开关选通
程序大概是这样的
en_dev1();// 使能设备1
uart_write(buf, sizeof(buf));// 发送数据
en_dev2();// 切换通道
uart_write(buf2, sizeof(buf2));// 向dev2发送数据
...
应该数据可以被dev1和dev2收到,但示波器显示使能线高电平只持续了一段时间就变为低电平
原因是uart_write只将数据写到驱动的缓冲区,write调用返回时,数据尚未发送完成
这样导致数据发送失败
有三种解决方法:
1. 在驱动程序中完成I/O电平置位,应用程序只负责读写数据
2. 在应用程序中加sleep等待数据发送完成
3. 在应用程序中设置串口操作标志,使得数据完全发送后才返回
- 串口调试(一)
- 在Ubuntu下使用串口调试(一)
- 浅谈工程师的调试法宝(一)---Printf串口输出
- 串口调试(二)
- 单片机程序协助调试方法(一)串口调试(持续更新中)
- 串口调试助手源程序(一)转
- 块设备驱动实战进阶篇一 (调试基础一:串口,kdump,panic分析)
- 串口调试精灵问题(关闭串口、再打开串口串口调试精灵出问题了)
- 串口调试精灵问题(关闭串口、再打开串口串口调试精灵出问题了)
- 串口驱动(一)
- 串口驱动(一)
- 串口学习(一)
- 如何在WinCE模拟器中调试串口程序(两台设备、一台设备的两种情况下的串口调试)
- 串口调试
- 串口调试
- 串口调试
- 串口调试
- 串口调试
- 资源_摄像头编程
- 有一个16位的整数,每4位为一个数,写函数求他们的和
- 小白一样的表单提交问题(2)
- STM32仿真器安装ARM Jtag ICE-U
- weka入门(转)
- 串口调试(一)
- c++中的空间与时间
- 解决ubuntu插入耳机还有外音的问题
- 使用PHP EXEC()发现的问题
- fedora 12 如何修改IP 和网卡物理地址
- 关于MMC不能打开文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC可能是由于文件不存在,不是一个MMC控制台,或者用后来的MMC版
- 如何使用 MySQL Administrator 管理/备份/还原 My SQL 数据库
- hdu 1698 Just a Hook
- LNMP一键安装包 0.4发布