单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1616|回复: 3
收起左侧

STM32串口用于IrDA通信的设置

[复制链接]
love16811187 发表于 2016-9-12 16:30 | 显示全部楼层 |阅读模式
STM32串口用于IrDA通信的设置

STM32串口用于IrDA通信的设置.doc

34.5 KB, 下载次数: 5, 下载积分: 黑币 -5

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

admin 发表于 2019-1-13 01:41 | 显示全部楼层
STM32串口用于IrDA通信的设置

#define IrDA_GPIO                                                        GPIOA                                        // GPIOA
#define IrDA_TX                                                            GPIO_Pin_9                // PA09
#define IrDA_RX                                                            GPIO_Pin_10                // PA10
#define IrDA_PD                                                            GPIO_Pin_11                // PA11

#define IrDA_USART                                                        USART1                                // 使用 USART1
#define IrDA_BAUDRATE                                        230400                                // 波特率设置

//------------------------------------------------------------USART IO CONFIG开始
        /* USART1  IrDA  */
        /* Configure USART Tx as alternate function push-pull */
        GPIO_InitStructure.GPIO_Pin                = IrDA_TX;
        GPIO_InitStructure.GPIO_Mode         = GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(IrDA_GPIO, &GPIO_InitStructure);       
        /* Configure USART Rx as input floating */
        GPIO_InitStructure.GPIO_Pin                = IrDA_RX;
        GPIO_InitStructure.GPIO_Mode        = GPIO_Mode_IN_FLOATING;
        GPIO_Init(IrDA_GPIO, &GPIO_InitStructure);
//------------------------------------------------------------USART IO CONFIG结束


//-----------------------------------------------------------/* IrDA_USART 设置 */
        USART_InitStructure.USART_BaudRate                                                = IrDA_BAUDRATE;
        USART_InitStructure.USART_WordLength                                        = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits                                                = USART_StopBits_1;
        USART_InitStructure.USART_Parity                                                = USART_Parity_No;
        USART_InitStructure.USART_Mode                                                        = USART_Mode_Rx | USART_Mode_Tx;
        USART_InitStructure.USART_HardwareFlowControl                = USART_HardwareFlowControl_None;
        /* Configure IrDA_USART basic and asynchronous paramters */
        USART_Init(IrDA_USART, &USART_InitStructure);       
        USART_ITConfig(IrDA_USART, USART_IT_RXNE, ENABLE);
        /* Enable IrDA_USART */
        USART_Cmd(IrDA_USART, ENABLE);
        /* Set the IrDA_USART prescaler */
    USART_SetPrescaler(IrDA_USART, 0x1);
    /* Configure the IrDA_USART IrDA mode */
    USART_IrDAConfig(IrDA_USART, USART_IrDAMode_Normal);
    /* Enable the IrDA_USART IrDA mode */
    USART_IrDACmd(IrDA_USART, ENABLE);
回复

使用道具 举报

章鱼哥 发表于 2016-9-30 23:43 来自手机 | 显示全部楼层
收下了
回复

使用道具 举报

hanpingx 发表于 2019-1-13 11:01 | 显示全部楼层
admin 发表于 2019-1-13 01:41
STM32串口用于IrDA通信的设置

#define IrDA_GPIO                                                        GPIOA                                        // GPIOA

谢谢分享!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 QQ 管理员QQ:125739409;技术交流QQ群636986012

Powered by 单片机教程网

快速回复 返回顶部 返回列表