基于STM32F103的485通讯

发布者:HarmoniousDream最新更新时间:2018-10-07 来源: eefocus关键字:STM32F103  485通讯 手机看文章 扫描二维码
随时随地手机看文章

由于PC没有485接口,所以配置了一个UT-2201转换器,485转232,转换器的接口如下图所示:

基于STM32F103的485通讯

基于STM32F103的485通讯

==============================================================


下图是PC与转换器之间的连接线:
基于STM32F103的485通讯

==============================================================

下图是转换器的连接:

基于STM32F103的485通讯

==============================================================

在开发板上的原理图如下,短接1和3,短接2和4,把转换器引出的A对应下图的A,引出的B对应下图的B

基于STM32F103的485通讯

PA2--TX-485

复用推挽输出

50Mhz

PA3--RX-485

模拟输入

50Mhz

PG3--CS-485

推挽输出

50Mhz

波特率9600,8位数据格式,1停止位,无校验

串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。

==============================================================

软件中重要的函数:

void USART2_IRQHandler(void)//串2中断函数

{

u8 res;     

if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)//接收到数据

{

res =USART_ReceiveData(USART2);//;读取接收到的数据USART2->DR

RS485_TX_EN=1;//发送

delay_ms(1);

USART_SendData(USART2,res);

while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=1);

delay_ms(2);

RS485_TX_EN=0;//接收

}  

USART_ClearFlag(USART2,USART_FLAG_TC);

==============================================================

发送的数据是一个字节(如果想要多个字节发送,则可以用一个数组)

开发板返回发送的字节

基于STM32F103的485通讯


关键字:STM32F103  485通讯 引用地址:基于STM32F103的485通讯

上一篇:STM32F103与MCGS的通讯
下一篇:STM32F407的CAN通信实验CAN1CAN2的设置

推荐阅读最新更新时间:2024-03-16 16:15

STM32F103的GPIO 模式区分
四种输入模式: 上拉输入模式(GPIO_Mode_IPU):默认模式下(GPIO没有输入)读取的GPIO引脚数据为1,高电平。 下拉输入模式(GPIO_Mode_IPD):默认模式下(GPIO没有输入)读取的GPIO引脚数据为0,低电平。 浮空输入模式(GPIO_Mode_IN_FLOATING):既没有上拉也没有下拉,引脚电压为不确定值。(主要用于来做 I2C,USART的接收端) 模拟输入模式(GPIO_Mode_AIN):关闭了斯密特触发器,不接上拉下拉电阻,经由另一个线路把电压信号传送到片上外设模块。(主要用于ADC外设的时候) 四种输出模式: 推挽输出模式(GPIO_Mode_Out_PP):输出 0
[单片机]
STM32F103单片机时钟树结构图及时钟配置
2.1 时钟树结构图 STM32属于Cortex-M3内核的单片机,时钟结构比之前的51单片机较复杂的多,根据数据手册,STM32F103的时钟结构如下图所示。 根据上图可以看到,STM32F103系列单片机具有4个时钟源,内部的8MHz时钟发生器,外部的晶体振荡器接口,最高支持16MHz,外部的32.768kHz晶体振荡器接口和内部的40kHz时钟发生器,其中32.768kHz和40kHz主要用于内部RTC时钟脉冲,8MHz的晶振通过PLL时钟倍乘器,将系统总线时钟提高为72MHz。 STM32F103系列内部具有2条外设时钟总线,APB1和APB2,其中APB2的时钟最高可达72MHz,APB1的时钟最高可达36MHz
[单片机]
<font color='red'>STM32F103</font>单片机时钟树结构图及时钟配置
基于STM32F103C8T6的点灯设计
根据STM32F103C8T6的原理图,可知LED2与CPU的PC13相连,当PC13=1(高电平)时,LED2呈熄灭状态;当PC13=0(低电平)时,LED2呈点亮状态。 参考代码如下: //main.c #include stm32f10x.h #include led.h #include delay.h int main(void) { LED_Init(); while(1) { GPIO_ResetBits(GPIOC,GPIO_Pin_13); delay(200); GPIO_SetBits(GPIOC,GPIO_Pin_13); delay(200); } } //led.c #i
[单片机]
基于<font color='red'>STM32F103</font>C8T6的点灯设计
Contiki移植到STM32F103VC
Contiki官网下载V2.5源码http://www.contiki-os.org/ contiki-2.5源码中,stm32移植的相关内容分散在两个文件夹中,第一, cpu\arm\stm32f103,这个文件夹存放的stm32移植的相关文件;第二,platform\stm32test,这个文件夹中有一个不是那么完整的例子。 在Contiki-2.5源码文件夹下用到的有:\core\sys\下面所有文件,\cpu\arm\stm32f103\clock.c文件主要修改,\platform\stm32test\contiki-conf.h文件。 STM32工程下主要用到的文件:core_cm3.c,system_stm3
[单片机]
KEIL 5下载程序到STM32F103ZET6芯片时的相关设置
1、点击箭头所指的魔术棒打开项目设置,(也可在Project下打开该魔术棒) 2、Device选项卡下选择项目所使用的芯片,右侧是与所选芯片的相关信息(我用的是STM32F103ZET6选择STM32F103ZE即可) 3、Target选项卡下晶振与软件仿真有关,我们是下载到硬件然后调试可以不用设置,下面有ROM和RAM的起始地址和大小,指的都是实际硬件的ROM和RAM的起始地址和大小,默认即可 4、Output选项卡如下,打开Debug调试信息和阅读代码时函数跳转 5、Listing选项卡下将红框中的全部选上,目的是在最后程序链接时记录详细信息(在project.map文件中),英语不太好
[单片机]
提高stm32f103c8t6的PWM精度
刚从51转过来,不想投入太多的资金,选择某宝的小蓝板(bluePill),这个板可能是最便宜的了(7.6元包邮)。初步测试一下时钟,定时器,中断,DMA什么的。到ADC还比较满意,DAC就晕了(这个芯片没有DAC)。于是采用PWM出模拟值。先初始化; void TIM1_PWM_Init(u16 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure;
[单片机]
提高<font color='red'>stm32f103</font>c8t6的PWM精度
STM32F103RBT6 定时器 Timer2 源程序
STM32F103RBT6定时器Timer2的使用。 复制代码 这里说下定时器定时时间: (1)STM32时钟为:72MHz,则每次振荡时间为:T=1/f=1/72MHz,振荡72M个周期才为:1S (2)分频数:72M/20000-1 因为从0开始,其实就是:72M/20000=3600,分频就是多少个基本周期算一 个新的振荡周期,如分频为2,刚之前振荡2个周才为目前新的一个周期。则为:36MHz,也就是1S中振荡 36M次了。M为10的6次方。 (3)寄存器周期值:200,则表示:200个分频后的时间基点才中断一次。 定时时间计算: 定时时间=(1/72M)*(72M/20000)*200=(1/20000)*200
[单片机]
STM32F103 IO口结构和特性
STM32F103 IO口结构和特性 其内部上拉下拉电阻是40K 模式8种: (1)GPIO_Mode_AIN 模拟输入   (2)GPIO_Mode_IN_FLOATING 浮空输入   (3)GPIO_Mode_IPD 下拉输入   (4)GPIO_Mode_IPU 上拉输入   (5)GPIO_Mode_Out_OD 开漏输出   (6)GPIO_Mode_Out_PP 推挽输出   (7)GPIO_Mode_AF_OD 复用开漏输出   (8)GPIO_Mode_AF_PP 复用推挽输出 I/O口的输出模式下。有3种输出速度可选(2MHz、10MHz和50MHz) 根据
[单片机]
<font color='red'>STM32F103</font> IO口结构和特性
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved