单片机USART实验

单片机:STM32F407

开发板:DMF407电机开发板

平台:keil V5.31

HSE 为8MHZ

HSI为16MHZ

原理图:

配置:

复制代码
#define USART_TX_GPIO_PORT              GPIOB
#define USART_TX_GPIO_PIN               GPIO_PIN_6
#define USART_TX_GPIO_AF                GPIO_AF7_USART1
#define USART_TX_GPIO_CLK_ENABLE()      do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0)   /* 发送引脚时钟使能 */

#define USART_RX_GPIO_PORT              GPIOB
#define USART_RX_GPIO_PIN               GPIO_PIN_7
#define USART_RX_GPIO_AF                GPIO_AF7_USART1
#define USART_RX_GPIO_CLK_ENABLE()      do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0)   /* 接收引脚时钟使能 */

#define USART_UX                        USART1
#define USART_UX_IRQn                   USART1_IRQn
#define USART_UX_IRQHandler             USART1_IRQHandler
#define USART_UX_CLK_ENABLE()           do{ __HAL_RCC_USART1_CLK_ENABLE(); }while(0)  /* USART1 时钟使能 */

主函数:

复制代码
uint8_t g_usart_tx_buf[8];
int main(void)
{
    uint8_t len;
    uint16_t times = 0;
    
    HAL_Init();                             /* 初始化HAL库 */
    sys_stm32_clock_init(336, 8, 2, 7);     /* 设置时钟,168Mhz */
    delay_init(168);                        /* 延时初始化 */
    usart_init(9600);                     /* 串口初始化为115200 */
    led_init();                             /* 初始化LED */

    while(1)
    {
				g_usart_tx_buf[0]=1;
				g_usart_tx_buf[1]=2;
				g_usart_tx_buf[2]=3;
				g_usart_tx_buf[3]=4;		
				g_usart_tx_buf[4]=5;
				g_usart_tx_buf[5]=6;
				g_usart_tx_buf[6]=7;
				g_usart_tx_buf[7]=8;				
				
			 HAL_UART_Transmit(&g_uart1_handle, (uint8_t*)g_usart_tx_buf, 8, 1000);    /*发送接收到的数据*/
       while(__HAL_UART_GET_FLAG(&g_uart1_handle, UART_FLAG_TC) != SET);           /*等待发送结束*/
			delay_ms(500);
    }
}

测试结果:

数据线:

需要注意的是,通过TypeC接口直接用数据线接PCUSB口接可以,如果用串口线,接收不到数据,或只能接收到CH340C的输入端数据。

另外通过这根数据线,可以给单片机供电,正常工作。

相关推荐
长江后浪博客6 小时前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
单片机仿真设计7 小时前
【proteus仿真】基于 STM32 单片机智能仓库设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
星游路7 小时前
单片机·电子时钟
单片机·嵌入式硬件
AOI小白新手上路11 小时前
江科协51单片机 7-2 LCD1602显示时钟实验
单片机·嵌入式硬件·51单片机
思麟呀11 小时前
嵌入式入门(一)宏观生态到首次烧录
c语言·嵌入式硬件
runningshark11 小时前
SC32L14GR8PJR
单片机·嵌入式硬件
智购科技无人售货机厂家11 小时前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
智购无人售货机厂家11 小时前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
花 满 楼12 小时前
RISC-V APLIC 中断模块总结——第二篇
单片机·嵌入式硬件·mcu·risc-v
无损检测小白白12 小时前
【嵌入式面试题一】
c语言·单片机