用Win32 console application来让PC与单片机PIC传输数据,用C++编程 50
不需要界面,不需要按钮,当单片机发送一次信号,PC能自动准确接收并能实现在DOS窗口中显示出接收到的ASCII(就像串口工具的界面那样,显示出收到的信号);发送信号同理,...
不需要界面,不需要按钮,当单片机发送一次信号,PC能自动准确接收并能实现在DOS窗口中显示出接收到的ASCII(就像串口工具的界面那样,显示出收到的信号);发送信号同理,让PC发送的也是ASCII,单片机可以自动接收到。有MAX232转换电压,应为是笔记本,所以是由USB和Serial的转化器连接。我用API来编的,现在打开以及设定串口都已OK,现在就在纠结于ReadFile()和WriteFile()还有在窗口里显示数据,我用的是printf("%c",lpReadBuff),lpReadBuff指向数据存入的缓冲区。显示出来的符号各式各样。。。不知道问题是出在哪里;另外就是用console application来做这样的project是可行的么?有点急,希望能马上得到帮助啊^^
在DOS窗口上显示的问题的解决了,可以确定数据被接收到。现在在解决单片机发送和接收数据的的问题
单片机一直发送信号‘N’(putchar),直到接收PC发送的‘S’时停止(getch)。PC可以接收到‘N’并及时发送出'S‘,但问题是单片机为什么不能准确的接收到‘S’,难道单片机上的TX和RX不能同时操作的么? 展开
在DOS窗口上显示的问题的解决了,可以确定数据被接收到。现在在解决单片机发送和接收数据的的问题
单片机一直发送信号‘N’(putchar),直到接收PC发送的‘S’时停止(getch)。PC可以接收到‘N’并及时发送出'S‘,但问题是单片机为什么不能准确的接收到‘S’,难道单片机上的TX和RX不能同时操作的么? 展开
展开全部
朋友,电脑出现:内存不能为read,原因总结起来,有以下方面,偶尔出现,点:取消,即可!
(答案原创,本答案原作者:力王历史)
1.电脑中了木马或者有病毒在干扰!
试试:杀毒软件,360安全卫士+360杀毒双引擎版,或者金山卫士+金山毒霸,
建议:使用“木马云查杀”和“360杀毒”,“全盘扫描”和“自定义扫描”病毒和木马,删除后,重启电脑!
开机后,点开“隔离|恢复”,找到木马和病毒,彻底删除!
2.如果第1种方法不行,下载个“360系统急救箱”,或者“金山系统急救
箱”!
先“全盘查杀”,查杀完毕,删除“可疑自启动项”和木马,再重启电脑!
然后点开“隔离|恢复”区,找到“可疑自启动项”和木马,点“彻底删除”!
再点开“修复”,“全选”,再点“修复”!
3.你下载的“播放器”,或“聊天软件”,或“IE浏览器”,或者“驱动”,或
“游戏”的程序不稳定,或者“版本太旧”!建议卸掉,下载新的,或将其升级
为“最新版本”!
4.软件冲突,你安装了两款或两款以上的同类软件(如:两款播放器,两款
qq,或多款浏览器,多款杀毒软件,多款网游等等)!它们在一起不“兼容”,
卸掉“多余”的那一款!
5.卸载方法:你在电脑左下角“开始”菜单里找到“强力卸载电脑上的软件”,找到多余的那款卸掉! 卸完了再“强力清扫”!
或者“360安全卫士”,“软件管家”,点开,第4项:“软件卸载”,点开,找
到“多余”和“类似”的软件卸载!如:“播放器”,点开,留下“暴风”,卸载“快播”!如:“下载”:点开,留下“迅雷”,卸载“快车”!(看准了再卸,别把有用的卸了)
6.如果还是不行,去网上下载一个“read修复工具”,修复试试!
7.再不行,重启电脑,开机后按“F8”,回车,回车,进到“安全模式”里,“高级启动选项”,找到:“最后一次正确配置”,按下去试试,看看效果如何!
8.再不行,开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
粘贴,回车,直到屏幕滚动停止为止,重启电脑!
9.实在不行就“一键还原”系统或“重装系统”!
(答案原创,本答案原作者:力王历史)
1.电脑中了木马或者有病毒在干扰!
试试:杀毒软件,360安全卫士+360杀毒双引擎版,或者金山卫士+金山毒霸,
建议:使用“木马云查杀”和“360杀毒”,“全盘扫描”和“自定义扫描”病毒和木马,删除后,重启电脑!
开机后,点开“隔离|恢复”,找到木马和病毒,彻底删除!
2.如果第1种方法不行,下载个“360系统急救箱”,或者“金山系统急救
箱”!
先“全盘查杀”,查杀完毕,删除“可疑自启动项”和木马,再重启电脑!
然后点开“隔离|恢复”区,找到“可疑自启动项”和木马,点“彻底删除”!
再点开“修复”,“全选”,再点“修复”!
3.你下载的“播放器”,或“聊天软件”,或“IE浏览器”,或者“驱动”,或
“游戏”的程序不稳定,或者“版本太旧”!建议卸掉,下载新的,或将其升级
为“最新版本”!
4.软件冲突,你安装了两款或两款以上的同类软件(如:两款播放器,两款
qq,或多款浏览器,多款杀毒软件,多款网游等等)!它们在一起不“兼容”,
卸掉“多余”的那一款!
5.卸载方法:你在电脑左下角“开始”菜单里找到“强力卸载电脑上的软件”,找到多余的那款卸掉! 卸完了再“强力清扫”!
或者“360安全卫士”,“软件管家”,点开,第4项:“软件卸载”,点开,找
到“多余”和“类似”的软件卸载!如:“播放器”,点开,留下“暴风”,卸载“快播”!如:“下载”:点开,留下“迅雷”,卸载“快车”!(看准了再卸,别把有用的卸了)
6.如果还是不行,去网上下载一个“read修复工具”,修复试试!
7.再不行,重启电脑,开机后按“F8”,回车,回车,进到“安全模式”里,“高级启动选项”,找到:“最后一次正确配置”,按下去试试,看看效果如何!
8.再不行,开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
粘贴,回车,直到屏幕滚动停止为止,重启电脑!
9.实在不行就“一键还原”系统或“重装系统”!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进制不一样,在单片机和上位机的进制不一样,这个跟VB一样,要进制转换。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要添加一个进制转换程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-07-20
展开全部
单片机的TX和RX一般都是双工的,意味着可以同时工作。你所提出的问题,信息尚不足以完全定位问题,多半是单片机程序的问题。既然你可以判断PC机已经把S发送出去了,你怎么判断单片机收到没有?还是收到了但是不正确?
你可以考虑让单片机把收到的字符再发送给PC机确认一下。要不就再检查一下单片机的程序。如果是51系列,会不会是单片机进发送中断以后就没有清理中断标志位导致始终进入的是发送函数?
一点参考,实际的问题还得你自己去判断和解决。
你可以考虑让单片机把收到的字符再发送给PC机确认一下。要不就再检查一下单片机的程序。如果是51系列,会不会是单片机进发送中断以后就没有清理中断标志位导致始终进入的是发送函数?
一点参考,实际的问题还得你自己去判断和解决。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询