原创 配置USART3并启用接收功能完整的示例代码片段

2024-11-14 08:11 883 5 4 分类: 物联网 文集: 博客

以下是一个完整的示例代码片段,展示了如何配置USART3并启用接收功能:

#include "usart.h"
#include "gpio.h"
#include "interrupt.h"

int main(void) {
    // USART3 初始化
    ustart(USART3, CRM_USART3_PERIPH_CLOCK, TRUE);
    gpio_init(GPIOB, &GPIOInitStruct); // 假设USART3的TX和RX分别连接到GPIOB的某些引脚
    gpio_pin_mux_config(GPIOB, GPIO_PIN_SOURCE11, GPIO_MUX_7);
    gpio_pin_mux_config(GPIOB, GPIO_PIN_SOURCE10, GPIO_MUX_7);
    
    // USART3 参数配置
    usart_parameter_struct usart3initstruct;
    usart3initstruct.usart_baudrate = 9600;
    usart3initstruct.usart_mode = USART_MODE_Rx | USART_MODE_Tx;
    usart3initstruct.usart_wordlength = USART_WLEN_8BITS;
    usart3initstruct.usart_stopbits = USART_STOPBITS_1;
    usart3initstruct.usart_parity = USART_PARITY_NO;
    usart3initstruct.usart_hardwareflow = USART_HARDWAREFLOWTH_NONE;
    
    usart_init(USART3, &usart3initstruct);
    
    // 使能USART3
    usart_enable(USART3, ENABLE);
    
    // 使能USART3接收中断
    uart_interrupt_receive_enable(USART3, ENABLE);
    uart_interrupt_receive_flag_clear(USART3, RESET);
    mvic_irq_enable(USART3_IRQn);
    mpri_config(USART3_IRQn, PRIGROUP_PRIO3, 0);
    
    // 主循环
    while (1) {
        // 显示固定文本
        LCD_ShowString(0, 0, "Loc:", 0xffff, 0x0000);
        LCD_ShowString(0, 16, "Lat:", 0xffff, 0x0000);
        
        // 检查是否有数据可读
        if (SET == usart_flag_get(USART3, USART_RDBF_FLAG)) {
            uint8_t RxData = usart_data_receive(USART3);
            UsartSendByte(RxData); // 回显接收到的数据
        }
    }
}


请根据上述建议逐一排查问题,并确保所有配置都正确无误。如果问题依然存在,可以尝试逐步简化代码,找出具体的问题所在。 

作者: 丙丁先生, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3996156.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

开发工匠 2024-11-16 20:04

写的好,学习和参考,很适用
相关推荐阅读
丙丁先生 2025-06-21 07:36
AI8051U为主控芯片歌曲播放
/*************  功能说明    **************本例程基于AI8051U为主控芯片的实验箱进行编写测试.使用Keil C251编译器...
丙丁先生 2025-06-13 09:33
FPU
FPU 是“Floating Point Unit”的缩写,中文意思是“浮点运算单元”。它是一种专门用于处理浮点数运算的硬件组件,通常集成在计算机的处理器(CPU)中,也可以是一个独立的芯片。以下是关...
丙丁先生 2025-06-06 09:31
给高三考生的一点建议
这是我给高三考生的一点建议:1.  今天距离高考还有两天,高考考完一定不要去对答案,尽情享受假期。2.  天气炎热的话注意避暑,可自带风油精、冰袋降温。3.  疯狂暗示自...
EE直播间
更多
我要评论
1
5
关闭 站长推荐上一条 /5 下一条