串口通信小试

一、串口协议和RS-232、485标准,以及RS232、485电平与TTL电平的区别
1、串口通信
串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。

在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准
2、RS-232
RS-232时个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2
3、RS485
RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。RS485有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。

4、RS232和RS485、TTL的区别

1)RS232、RS485、TTL是指电平标准(电信号)

2)TTL电平标准 是 低电平为0,高电平为1(对地,标准数字电路逻辑)。

3)RS232电平标准 是 正电平为0,负电平为1(对地,正负6-15V皆可,甚至可以用高阻态)。

4)RS485与RS232类似,但是采用差分信号逻辑,更适合长距离、高速传输。

二、利用工具实现LED的点亮
1、.使用CubeMX生成相关代码
①选择New Project,然后选择芯片类型
在这里插入图片描述
②配置系统调试接口sys,选择Serial Wire
在这里插入图片描述
③配置引脚功能
在芯片上找到对应的引脚,点击它,选择对应的功能。此处选择的引脚PA1、PA2、PA3为输出模式。
在这里插入图片描述

④选择Configuration,接着选择GPIO
在这里插入图片描述

配置好后,就选择Apply/OK就可以了。
⑤相关设置

在这里插入图片描述
选择OK,就会生成相应的代码,并且会弹出一个对话框,点击Open Project,就会使用Keil5打开工程
3.使用Keil进行编译下载生成hex文件后用stc进行烧录
具体操作见上文用寄存器&HAL库完成LED流水灯程序
4.实验现象
连接对应管脚的LED就被点亮了。

三、完成一个STM32的USART串口通讯程序
1、新建工程
在这里插入图片描述

2、输入工程名并保存并选择芯片
在这里插入图片描述
3、基本设置
在这里插入图片描述
4、添加源文件
在这里插入图片描述
5、点击 Asm Files (.s) 添加汇编文件,然后输入文件名,并点击 Add
在这里插入图片描述
6、结果如下
在这里插入图片描述
7、编写代码

 AREA MYDATA, DATA
	
 AREA MYCODE, CODE
	ENTRY
	EXPORT __main

__main
	MOV R0, #10
	MOV R1, #11
	MOV R2, #12
	MOV R3, #13
	;LDR R0, =func01

	BL	func01
	;LDR R1, =func02
	BL	func02
	
	BL 	func03
	LDR LR, =func01
	LDR PC, =func03
	B .
		
func01
	MOV R5, #05
	BX LR
	
func02
	MOV R6, #06
	BX LR
	
func03
	MOV R7, #07
	MOV R8, #08	
	BX LR


8、仿真器设置
在这里插入图片描述
9、编译生成hex文件
在这里插入图片描述
10、烧录
在这里插入图片描述
11、结果
在这里插入图片描述
四、keil分析波形
在这里插入图片描述
五、总结
要想将程序烧录到单片机上,必须先生成 hex 文件,才能下载到单片机上,而一个 hex 文件是比较小的,且内容都是以冒号开始、回车键结束的一条条数据组成,每个数据的格式一一对应,这样就方便单片机读取数据并执行,如果能够掌握 hex 文件,那么就能够直接从 hex 文件中了解寄存器地址、数据等简略信息了
六、参考资料

1、https://blog.csdn.net/qq_43279579/article/details/112213196
2、https://blog.csdn.net/qq_43279579/article/details/112233696
3、https://blog.csdn.net/ssj925319/article/details/111984002

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值