你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32的irda功能,怎么输不出1200bps,38.4k的红外载波信号(72mhz系统主频)

[复制链接]
hpei2003 提问时间:2009-3-28 11:23 /
 //下面是部分配置 
  USART_InitTypeDef USART_InitStructure; 
 
  USART_InitStructure.USART_BaudRate            = 1200; 
  USART_InitStructure.USART_WordLength          = USART_WordLength_9b; 
  USART_InitStructure.USART_StopBits            = USART_StopBits_1; 
  USART_InitStructure.USART_Parity              = USART_Parity_Even ; 
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
  USART_InitStructure.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx; 
 
  USART_Init(USART3, &USART_InitStructure); 
  USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); 
 
  USART_Cmd(USART3, ENABLE); 
 
  /* Configure the USART3 IrDA mode */ 
  USART_IrDAConfig(USART3, USART_IrDAMode_Normal); 
  USART_IrDACmd(USART3,ENABLE);//
收藏 评论3 发布时间:2009-3-28 11:23

举报

3个回答
lf8013 回答时间:2010-10-8 22:26:46

RE:stm32的irda功能,怎么输不出1200bps,38.4k的红外载波信号(72mhz系统主频)

顶一下,我也不会
ryan_mao 回答时间:2011-8-12 10:13:29

RE:stm32的irda功能,怎么输不出1200bps,38.4k的红外载波信号(72mhz系统主频)

#include "IrDA.h"

void init_irda(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
          /* Enable GPIO clock */
        RCC_APB2PeriphClockCmd(USARTy_GPIO_CLK | RCC_APB2Periph_AFIO, ENABLE);
          /* Enable USARTy clocks */
        RCC_APB1PeriphClockCmd(USARTy_CLK, ENABLE);
  /* Enable the USART2 Pins Software Remapping */
  //GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);

  /* Configure USARTy Tx as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin = USARTy_TxPin;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(USARTy_GPIO, &GPIO_InitStructure);
  /* Configure USARTy Rx as input floating */
  GPIO_InitStructure.GPIO_Pin = USARTy_RxPin;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(USARTy_GPIO, &GPIO_InitStructure);

    USART_InitStructure.USART_BaudRate = 1200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No ;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    /* Configure the USARTy */
    USART_Init(USARTy, &USART_InitStructure);
    /* Enable the USARTy */
    USART_Cmd(USARTy, ENABLE);
    /* Set the USARTy prescaler */
    USART_SetPrescaler(USARTy, 0x1);
    /* Configure the USARTy IrDA mode */
    USART_IrDAConfig(USARTy, USART_IrDAMode_Normal);
    /* Enable the USARTy IrDA mode */
    USART_IrDACmd(USARTy, ENABLE);
}
nieyinghaha 回答时间:2011-10-9 10:18:34

回复:stm32的irda功能,怎么输不出1200bps,38.4k的红外载波信号(72mhz系统主频)

STM的USART3好像只支持波特率为115200的红外收发

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版