STM32的485最简单例程.docx
《STM32的485最简单例程.docx》由会员分享,可在线阅读,更多相关《STM32的485最简单例程.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、485最基本的半双工通信配置采用STM32F103ZET6串口3连接485芯片通信口,485芯片的A,B通过485转串口模块与电脑相连,完成在串口软件上输入输出功能。串口3,配置函数:void USART3_Config(void)GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE
2、);RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);/ USART3_TX - PB10 , USART3_RX -PB11GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin =
3、 GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure);USART_InitStructure.USART_BaudRate = 115200; / 1200; USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBi
4、ts = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No; /USART_Parity_Even;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART3, &USART_InitStructure); NVIC_PriorityGroupConfi
5、g(NVIC_PriorityGroup_2); NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);#ifdef PDU_USART3_DMAUSART_ITConfig(U
6、SART3, USART_IT_IDLE, ENABLE);#else/ Enable the USART Receive interrupt: this interrupt is generated when the /USART3 receive data register is not empty/USART_ClearITPendingBit(USART3, USART_IT_TC);USART_ClearFlag(USART3,USART_FLAG_TC);USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);USART_ITConfig(USA
7、RT3, USART_IT_TC, ENABLE);/USART_ITConfig(USART3, USART_IT_TXE, ENABLE);USART_ClearFlag(USART3,USART_FLAG_TC);#endif USART_Cmd(USART3, ENABLE);USART_ClearFlag(USART3,USART_FLAG_TC);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; G
8、PIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOE, &GPIO_InitStructure);RS_485_TX_ENABLE();PUTCHAR_PROTOTYPE /* Place your implementation of fputc here */ /* e.g. write a character to the USART */ USART_SendData(USART3, (uint8_t) ch);/US
9、ART_SendData(USART1,(uint8_t)ch); /* Loop until the end of transmission */ /while (USART_GetFlagStatus(USART1, USART_FLAG_TC) = RESET)while (USART_GetFlagStatus(USART3, USART_FLAG_TXE) = RESET) return ch;中断函数:void USART3_IRQHandler(void)if(USART_GetITStatus(USART3, USART_IT_IDLE) != RESET) USART_Cle
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STM32 485 简单 例程
限制150内