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

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

相关推荐
不悔哥2 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20162 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
女神下凡3 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9663 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛3 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅3 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员3 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程
CHENKONG_CK3 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
祖力553 天前
ARM时钟
嵌入式硬件·arm·时钟·imx6ull