单片机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的输入端数据。

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

相关推荐
m0_377108141 小时前
stm32软件i2c
stm32·单片机·嵌入式硬件
殷忆枫1 小时前
基于STM32和LD3320语音模块串口交互
stm32·单片机·嵌入式硬件
知识噬元兽1 小时前
【工具使用】STM32CubeMX-QSPI配置-实现NorFlash读写
stm32·单片机·嵌入式硬件
知识噬元兽1 小时前
【工具使用】STM32CubeMX-FATFS文件系统
stm32·单片机·嵌入式硬件
广州灵眸科技有限公司10 小时前
瑞芯微(EASY EAI)RV1126B 核心板供电电路
linux·运维·服务器·单片机·嵌入式硬件·电脑
浩浩测试一下11 小时前
汇编 16位32位64位通用寄存器(逆向分析)
汇编·windows·stm32·单片机·嵌入式硬件·逆向·二进制
潜创微科技13 小时前
IT68353:双 DP1.4a+HDMI2.0 转 HDMI2.0 单芯片 KVM 切换方案
嵌入式硬件·音视频
踏着七彩祥云的小丑13 小时前
嵌入式测试学习第 17 天:常见接口:USB、Type-C、排针
单片机·嵌入式硬件
szxinmai主板定制专家14 小时前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发