
部分关键源代码预览如下,原理图及手板样片随后。 /******************************************************************************* * Function Name : USART2_IRQHandler * Description : This function handles USART2 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USART2_IRQHandler(void) { if (USART_GetITStatus(USART2, USART_IT_TC) != RESET) { /* Set DE to low level pin(PA.8) */ GPIOA->BRR = GPIO_Pin_8; /* Disable the USART2 Transmit Complete interrupt */ USART_ITConfig(USART2, USART_IT_TC, DISABLE); /* Clear USART2 TC pending bit */ USART_ClearFlag(USART2, USART_FLAG_TC); } if (USART_GetITStatus(USART2, USART_IT_TXE) != RESET) { if(USART2_Tx_length){ if (USART2_Tx_length==1) { /* Set DE pin to high level pin(PA.8) */ GPIOA->BSRR = GPIO_Pin_8; USART2->DR = USART2_Tx_Buffer[USART2_Tx_ptr_out++]; /* Enable USART TC interrupt */ USART_ITConfig(USART2, USART_IT_TC, ENABLE); /* Disable USART TXE interrupt */ USART_ITConfig(USART2, USART_IT_TXE, DISABLE); } else { if(USART2_Tx_ptr_out == USART2_Tx_Start){ /* Set DE pin to high level pin(PA.8) */ GPIOA->BSRR = GPIO_Pin_8; USART2->DR = USART2_Tx_Buffer[USART2_Tx_ptr_out++]; } else { if (USART2_Tx_ptr_out < USART2_Tx_End) { USART2->DR = USART2_Tx_Buffer[USART2_Tx_ptr_out++]; } else { /* Disable USART TXE interrupt */ USART_ITConfig(USART2, USART_IT_TXE, DISABLE); /* Enable USART TC interrupt */ USART_ITConfig(USART2, USART_IT_TC , ENABLE); } } } }else{ /* Set DE to low level pin(PA.8) */ GPIOA->BRR = GPIO_Pin_8; /* Disable USART2 TXE interrupt */ USART_ITConfig(USART2, USART_IT_TXE, DISABLE); /* Disable USART2 TC interrupt */ USART_ITConfig(USART2, USART_IT_TC , DISABLE); } } if(USART_GetITStatus(USART2,USART_IT_RXNE)==SET) { /* Send the received data to the PC Host*/ USART2_To_USB_Send_Data(); } if(USART_GetFlagStatus(USART2,USART_FLAG_ORE)==SET) { (void)USART_ReceiveData(USART2); } } 工程源代码下载地址: ![]() |
【MCU实战经验】STM32F103的uCOSII详细移植
[STM32F072 Nucleo]开发笔记(二)扩展USB接口
火哥赠书《STM32库开发实战指南——基于STM32F103》收到
基于 CR95HF 的 RFID/NFC 模块
[STM32F072 Nucleo]方案分享一,用CUBE搭了个框架,USB-485/CAN
【Nucleo板开发日志】+用SPI总线构建STM32F1和 F302-NUCLEO的双机处理系统
【我为STM32站台】基于STM32F103VB的功率因数表
【DIY】基于STM32F103的音乐频谱树
【DIY】基于STM32F103的低成本WiFi音乐播放系统
【我要show】++STM32F103+祝愿ST的越来越好
RE:【原创】【MCU实战经验】+ 利用STM32F103实现的USB-TO-RS485模块产品,源代码及原理图。
回复:【原创】【MCU实战经验】+ 利用STM32F103实现的USB-TO-RS485模块产品,源代码及原理图。
RE:【原创】【MCU实战经验】+ 利用STM32F103实现的USB-TO-RS485模块产品,源代码及原理图。
RE:【原创】【MCU实战经验】+ 利用STM32F103实现的USB-TO-RS485模块产品,源代码及原理图。
RE:【原创】【MCU实战经验】+ 利用STM32F103实现的USB-TO-RS485模块产品,源代码及原理图。