⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v1.0版说明.txt

📁 c++builder编写的机器人参数传递上位机软件.
💻 TXT
字号:
//***************************微装配机器人手控通讯程序***************
//设计:成康                     
//2004.11.21
//通过向下位机发送一定协议的数据控制下位机对为机器人电机的操作
//*******************************************************************
内容:
1/定时器
2/串口读写
3/数据格式

问题:
定时器线程和读接收缓冲区循环不能同步,导致如果接收缓冲区中如果数据小于协议规定的86个字节,就会一直循环下去,定时器作为一个3秒钟的循环时间限制,没有起到预定作用.在循环中会检测一个是否超过3秒循环的标志flag,如果检测到超过3秒,即定时器事件触发,跳出循环,结果发现当进入循环后,定时器根本就没有触发,故该方案不可行.估计是因为定时器的优先级不够,但如果循环和定时器分属不同线程,那么从优先级上说应该是一样,不过由于循环占据了cpu,造成定时器没有时间片上的分配,故定时器事件不触发.(/**/内代码为同步触发定时器和读接收缓冲区)

修改方案:
定时器与读接收缓冲区按时间顺序依次执行,即按键只触发定时器而不触发读取缓冲区字节数的任务,该任务转由定时器触发.这样按键按下三秒钟后才读取数据,如缓冲区中数据小于规定86个字节则返回而不是一直等待到有86个字节为止.不过这样在三秒钟内程序将不再发送数据,即停止一切响应,否则可能会导致接收区的数据错误.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -