野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13715|回复: 6

串口发送问题

[复制链接]
发表于 2015-4-23 09:55:12 | 显示全部楼层 |阅读模式
本帖最后由 11kxmx 于 2015-4-23 10:18 编辑

用野火的串口发送例程和配套的串口助手软件接收正确,但用我自编的上位机程序接收就很不正常
而我的上位机程序接收用51单片机按字节发送或上位机自发自收 早证明是正确的,是怎么回事?
我的上位机程序可按文本格式显示,也可十六进制格式显示
在野火开发板上和例程里用primtf重定位到串口形式发送,格式很灵活,但我不明白它到底怎么发的,如以10进制形式发送129
printf("\r\n %d",129);是以二制制形式一次发出去(因其不超过255),还是分为 1 2 9 三个二进制数发出去,还是将1 2 9三个字符的ASCI码发出去
十六进制形式发送printf("\r\n %x",948);是不是先将948l转换成十六进制3b4,再以ASCI码或二进制形式发送出去
回复

使用道具 举报

发表于 2015-4-23 15:23:43 | 显示全部楼层
printf发送的是ascii码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-23 16:18:00 | 显示全部楼层
本帖最后由 11kxmx 于 2015-4-23 20:13 编辑
flyleaf 发表于 2015-4-23 15:23
printf发送的是ascii码


好,我试试文本方式接收,但存在一个问题,我原来发送16位二进制数是二个字节发送完,现在成了1-4个字符(16进制发送)或1-5个字符(10进制形式),长度不定,上位机处理起来较难
若不行就改为sendbyte方式发送,更直观

又試了試
發現用printf("\r\n%d\r\n",adbuff[0]*256+adbuff[1]);AD数据是954 ,我接收到的 字符是0D 0A 39 35 34 0D 0A 中间3个数確實是954的ASCI码,但多出的2个0D 0A就不知是什么了,连续发10 个数,每个数前后都有0D 0A
回复 支持 反对

使用道具 举报

发表于 2015-4-23 17:44:09 | 显示全部楼层
亮点是“自己编的上位机”。大神,教教我啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-23 20:42:53 | 显示全部楼层
爱问知识的人 发表于 2015-4-23 17:44
亮点是“自己编的上位机”。大神,教教我啊?

用VB編程,刚开始我什麼也不会,但我目的簡單明確,就是接收單片機AD采集的較多數據,設法將其存到上位机中,网上邊學邊試,搜尋vb串口通信,起初只是實現簡單的收發,後來才嘗試將其按一定格式處理,保存到TXT文件中後來雙能保存到EXCEL中,開始是接收定量數據,後來雙能接收任意多數據 但發送方面始終沒怎麼改進,只是實現自發自收方便測試接收功能,至今還只能發送不大於100的10進制數,十六進制只能發一個字符
用於接收STC51單片機采集的數據,實驗已經很成功了
但我嘗試接收 STM32開發板AD采集的數據遇到了問題
QQ截图20150423205936.png
回复 支持 反对

使用道具 举报

发表于 2015-4-24 09:26:51 | 显示全部楼层
11kxmx 发表于 2015-4-23 20:42
用VB編程,刚开始我什麼也不会,但我目的簡單明確,就是接收單片機AD采集的較多數據,設法將其存到上位机中 ...

大神,你QQ多少?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-24 11:27:14 | 显示全部楼层
本帖最后由 11kxmx 于 2015-4-24 11:29 编辑


我也不是专门搞计算机和自动化的,业余爱好 
530422951
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 01:10 , Processed in 0.031293 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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