请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP-EXP430FR4133 主题中讨论的其他器件:MSP430FR4133、 SysConfig
您好@所有!
我的红外收发器出现了一些问题。
我正在使用 MSP430FR4133 Launchpad 和 TFBS4650红外收发器。 我在网上搜索了一些解决方案、但没有找到任何解决方案。
我的代码包含通过 UART 以数据字节的形式简单发送12个字符、并采用 IR 配置。 但我不知道我的错误在哪里、因为我的 RxD 上没有用示波器可视化的信号。
volatile unsigned long int TxData = 12; #include int main(){ WDTCTL = WDTPW | WDTHOLD; PM5CTL0 &=~LOCKLPM5; SYSCFG1 |= IRDSSEL | IREN; //引脚配置 P1SEL0 |= BIT0 | BIT1; //端口1位0&1 auf GPIO setzen P1DIR |= BIT1; //位1 auf 输入 RxD P1DIR &=~BIT0; //位0 auf 输出 TXD P4DIR |= BIT0; //端口4位0 auf 输出 P4OUT &=~BIT0; //定时器配置 TA0CTL |= TACLR; TA0CCTL0 |= SCS | CAP | CCIE; TA0CCTL0 |= CM_0 | CCIS_0; // TA0EX0 &=~TAIDEX_3; //输入分频器 TA0CTL |= TACLR; TA0CTL |= TASSEL_SMCLK; TA0CTL |= ID_3; TA0CTL |= TAIE; TA0CTL |= MC_2; //UART 配置 UCA0CTLW0 |= UCSWRST; //eUSCI 处于复位状态 UCA0CTLW0 |= UCSSEL_SMCLK; //SMCLK UCA0CTLW0 &=~UCPEN; //奇偶校验使能 UCA0CTLW0 &=~UCMSB; //LSB 优先 UCA0CTLW0 &=~UC7BIT; //字符 Länge 8位 UCA0CTLW0 &=~UCSPB; //一个停止位 UCA0CTLW0 &=~UCMODE0; //波特率计算 UCA0BR0=6; // 16MHz/9600 => INT (166、67/16)= 104 //52 bei 8MHz UCA0MCTLW |= 0x2000 | UCOS16 | UCBRF_8;//INT ((16MHz/9600 - INT (16MHz/9600)) x16)= 2 UCA0BR1 = 0x00; //IR 配置 UCA0IRCTL |= UCIRRXFL3; //接收过滤器长度 UCA0IRCTL |= UCIRRXPL; //Receive Input polarity (接收输入极性)-->出现光脉冲时的低脉冲 UCA0IRCTL &=~UCIRRXFE; //接收过滤器使能 UCA0IRCTL |= UCIRTXPL5; //发送脉冲长度 UCA0IRCTL |= UCIRTXCLK; //发送脉冲时钟选择 UCA0IRCTL |= UCIREN; //IR 启用 UCA0CTLW0 &=~UCSWRST; //eUSCI 初始化程序 UCA0IE |= UCTXCPTIE; //发送就绪中断使能 while (1){ _enable_interrupt (); _bis_SR_register (LPM0_bits | GIE); } //返回0; } #pragma vector = TIMER0_A1_vector __interrupt void TIMER0_ISR1 (void){ switch (_even_in_range (TA0IV、14))( 案例0: 中断; 案例2: 中断; 案例4: 中断; 案例6: 中断; 案例8: 中断; 案例10: 中断; 案例12: 中断; 案例 TA0IV_TAIFG: UCA0TXBUF = TxData; 中断; 默认: break; } #pragma vector = USCI_A0_vector __interrupt void USCI_A0_ISR (void){ switch (__evo_in_range (UCA0IV、USCI_UART_UCTXCPTIFG)){ USCI_NONE 案例: 中断; USCI_UART_UCRXIFG 案例: 中断; USCI_UART_UCTXIFG 案例: P4OUT ^= BIT0; 中断; USCI_UART_UCSTTIFG 案例: 中断; USCI_UART_UCTXCPTIFG 案例: _BIC_SR_REGISTER_ON_EXIT (LPM0_BITS); 中断; 默认值: 中断; } }