OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4805|回复: 7

怎么往串口1里写数据(不是通过串口调试助手)

[复制链接]

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-4-4
在线时间
39 小时
发表于 2016-9-13 22:18:00 | 显示全部楼层 |阅读模式
5金钱
刚接触,不知道怎么往串口里面写数据。
我知道可以用printf来通过串口1来打印数据,但是printf的输出是字符串吧,我想直接用往串口里写。
我试着调用了USART_SendData(USART1,BUF[i]);
BUF是我自己想发送的数据,但是这样不可以,希望有大神来指点一下
先谢谢各位了

最佳答案

查看完整内容[请看2#楼]

USART_SendData(USART1,BUF);肯定是可以的,如果你不行那就是初始化的问题 注意BUF需要是ASCII码,比如USART_SendData(USART1,'1');是可以的,USART_SendData(USART1,1);就不行
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

548

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1383
注册时间
2015-2-3
在线时间
197 小时
发表于 2016-9-13 22:18:01 | 显示全部楼层
USART_SendData(USART1,BUF[i]);肯定是可以的,如果你不行那就是初始化的问题
注意BUF[i]需要是ASCII码,比如USART_SendData(USART1,'1');是可以的,USART_SendData(USART1,1);就不行
回复

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-4-4
在线时间
39 小时
 楼主| 发表于 2016-9-14 11:21:23 | 显示全部楼层
谢谢你的回复

我在实验的时候之前一直以为是数据转换成2进制再送进移位寄存器来发出去的,昨天仔细的查了原来BUF里面的值是要发送数据的ACSII码。

我在从BUF里读取数据之后进行减‘0’的操作,就得到了发送的数据。



但是我现在又遇到了一个问题,比如我发送的是4095,但是在接收的时候有时候会读取到9540,产生这样的原因是什么呢?
回复

使用道具 举报

9

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1513
金钱
1513
注册时间
2016-7-28
在线时间
302 小时
发表于 2016-9-14 11:43:22 | 显示全部楼层
USART_SendData函数应该是通过串口向外部设备发数据吧
回复

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-4-4
在线时间
39 小时
 楼主| 发表于 2016-9-14 13:55:56 | 显示全部楼层
xiaokun 发表于 2016-9-14 11:43
USART_SendData函数应该是通过串口向外部设备发数据吧

这个send应该是往串口的TX引脚写数据的吧。如果TX和RX接在一起就是自发自收了。

我现在是TX引脚和ZIGBEE的RX连接,然后通过zigbee把数据发出去
回复

使用道具 举报

3

主题

548

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1383
注册时间
2015-2-3
在线时间
197 小时
发表于 2016-9-14 21:08:57 | 显示全部楼层
本帖最后由 yyx112358 于 2016-9-14 21:19 编辑
zhero 发表于 2016-9-14 11:21
谢谢你的回复

我在实验的时候之前一直以为是数据转换成2进制再送进移位寄存器来发出去的,昨天仔细的查 ...

可能是大小端的问题?
还是发一下你的代码吧
回复

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-4-4
在线时间
39 小时
 楼主| 发表于 2016-9-21 22:21:03 | 显示全部楼层
应该不是大小端的问题,我决的是接收端的数据处理的问题。


发          收
4095      4095
3056      6053
2556      5625
总是产生这样莫名的错位,很是不懂。希望可以指点下。
回复

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-4-4
在线时间
39 小时
 楼主| 发表于 2016-9-21 22:21:53 | 显示全部楼层
yyx112358 发表于 2016-9-14 21:08
可能是大小端的问题?
还是发一下你的代码吧

看我之前发的,如果是大小端的问题肯定错误的格式是一样的吧,但是这个就很不稳定。
谢谢回复
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 17:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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