Implementing infrared functions on UART0 with FRDM-KE02Z platform.

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Implementing infrared functions on UART0 with FRDM-KE02Z platform.

Implementing infrared functions on UART0 with FRDM-KE02Z platform.

This document shows the implementation of the infrared on the UART0 using the FRDM-KE02Z platform.

The FRDM-KE02Z platform is a developing platform for rapid prototyping. The board has a MKE02Z64VQH2 MCU a Kinetis E series MCU which is the first 5-Volt MCU built on the ARM Cortex-M0+ core. You can check the evaluation board in the Freescale’s webpage (FRDM-KE02Z: Kinetis E Series Freedom Development Platform)

The Freedom Board has a lot of great features and one of this is an IrDA transmitter and receiver on it. Check this out!

infrared on board.png

One of the features of the MCU is that the UART0 module can implement Infrared functions just following some tricks (MCU-magic tricks). According to the Reference Manual (Document Number: MKE02Z64M20SF0RM) this tricks are:

     UART0_TX modulation:

    • UART0_TX output can be modulated by FTM0 channel 0 PWM output

     UART0_RX Tag:

    • UART0_RX input can be tagged to FTM0 channel 1 or filtered by ACMP0 module

For this example we are going to use the ACMP0 module to implement the UART0_RX functionality.

Note1: The Core is configured to run at the maximum frequency: 20 Mhz

Note2: Refer to the reference manual document for more information about the registers.


Configuring the FTM0.

The next lines show the configuration of the FTM0; the module is configured with a Frequency of 38 KHz which is the ideal frequency for an infrared led. The FTM0_CH0 is in Edge_Aligned PWM mode (EPWM).

    

     #define IR_FREQUENCY       38000 //hz

     #define FTM0_CLOCK                BUS_CLK_HZ

     #define FTM0_MOD_VALUE            FTM0_CLOCK/IR_FREQUENCY

     #define FTM0_C0V_VALUE            FTM0_MOD_VALUE/2

     void FTM0CH0_Init( void )

     {

       SIM_SCGC |= SIM_SCGC_FTM0_MASK;

            // Init FTM0 to PWM output,frequency is 38khz

       FTM0_MOD= FTM0_MOD_VALUE;

       FTM0_C0SC = 0x28;

       FTM0_C0V = FTM0_C0V_VALUE;

       FTM0_SC = 0x08; // bus clock divide by 2

     }

With this we accomplish the UART0_TX modulation through a PWM on the FTM0_CH0.

Configuring the ACMP0.

The configuration of the ACMP0 is using a DAC and allowing the ACMP0 can be driven by an analog input.

     void ACMP_Init ( void )

     {

       SIM_SCGC |= SIM_SCGC_ACMP0_MASK;

       ACMP0_C1 |= ACMP_C1_DACEN_MASK |

                  ACMP_C1_DACREF_MASK|

                  ACMP_C1_DACVAL(21);    // enable DAC

       ACMP0_C0 |= ACMP_C0_ACPSEL(0x03)|

                           ACMP_C0_ACNSEL(0x01);

       ACMP0_C2 |= ACMP_C2_ACIPE(0x02);  // enable ACMP1 connect to PIN

       ACMP0_CS |= ACMP_CS_ACE_MASK;     // enable ACMP          

     }


With this we have now implemented the UART0_RX.

   

IrDA initialization.

Now the important thing is to initialize the UART0 to work together with these tricks and implement the irDA functions.

Basically we initialize the UART0 like when we use normal serial communication (this is not the topic of this post, refer to the project to see the UART_init function) and we write to the most important registers:

  

     SIM_SOPT |= SIM_SOPT_RXDFE_MASK;

    • UART0_RX input signal is filtered by ACMP, then injected to UART0.

     SIM_SOPT |= SIM_SOPT_TXDME_MASK;

    • UART0_TX output is modulated by FTM0 channel 0 before mapped to pinout.

The configuration is as follows:

     void IrDA_Init( void )

     {

// initialize UART0, 2400 baudrate

       UART_init(UART0_BASE_PTR,BUS_CLK_HZ/1000,2400);

    

            // clear RDRF flag

       UART0_S1 |= UART_S1_RDRF_MASK;

    

            // initialize FTM0CH1 as 38k PWM output

       FTM0CH0_Init();

        

            // enable ACMP

       ACMP_Init();

SIM_SOPT |= SIM_SOPT_RXDFE_MASK;  //UART0_RX input signal is filtered by ACMP, then injected to UART0.

       UART0_S2 &= ~UART_S2_RXINV_MASK;  //inverse data input

SIM_SOPT |= SIM_SOPT_TXDME_MASK;  //UART0_TX output is modulated by FTM0 channel 0 before mapped to pinout.

     }

With the irDA initialization we got the infrared features on the UART0.

Philosophy of the Example

In the attachments of this post you can find the example which shows the use of these functions in a basic application; the project was compiled in CodeWarrior 10.6 and the philosophy is:

Slide1.JPG

I hope that the information presented on this document could be useful for you. Thank you!

Best Regards!

附件
评论

Hello Sanchez,

          A good post indeed. But, I was wondering what might be the communication pattern? Is it a standard 3/16th bit width communication or the modulated Tx waveform looks different altogether? Couldn't capture on oscilloscope as the FTM is running continuously. Is the modulated waveform similar to the one attached?HT32F125x_IrDA_TimingDiagram.png

I am trying this with the TWR-K60N512 KIT, I can receive interrupts on UART0_Rx through Comparator from a TV remote signal, but not from the Tx pin although checking with a smartphone camera, the Tx IR signal is going on. The code is as follows:

#include "types.h"
#include "infrared.h"
#define IR_FREQUENCY    38000
#define FTM1_CLOCK        750000
#define FTM1_MOD_VALUE    FTM1_CLOCK/IR_FREQUENCY
#define FTM1_C0V_VALUE            FTM1_MOD_VALUE/2
void init_infrared(void){
    //initialize uart0 as infrared port through CMP0
    init_uart0();
    //initialize Comparator
    init_cmp0();
    //initialize the Flex timer
    init_ftm();
}
void init_uart(UART_MemMapPtr uartch, int sysclk, int baud){
    uint16_t ubd, temp, brfa;
   //disable Tx and Rx during setup
    UART_C2_REG(uartch) &= ~(UART_C2_TE_MASK | UART_C2_RE_MASK );
    /* Configure the UART for 8-bit mode, no parity */
    /* We need all default settings, so entire register is cleared */
    UART_C1_REG(uartch) = 0;
    /* Calculate baud settings */
    ubd = (uint16_t)((sysclk*1000)/(baud * 16));
    /* Save off the current value of the UARTx_BDH except for the SBR */
    temp = UART_BDH_REG(uartch) & ~(UART_BDH_SBR(0x1F));
    UART_BDH_REG(uartch) = temp | UART_BDH_SBR(((ubd & 0x1F00) >> 8));
    UART_BDL_REG(uartch) = (uint8_t)(ubd & UART_BDL_SBR_MASK);
    /* Determine if a fractional divider is needed to get closer to the baud rate */
    brfa = (((sysclk*32000)/(baud * 16)) - (ubd * 32));
    /* Save off the current value of the UARTx_C4 register except for the BRFA */
    temp = UART_C4_REG(uartch) & ~(UART_C4_BRFA(0x1F));
    UART_C4_REG(uartch) = temp | UART_C4_BRFA(brfa);
    // enable the reciever interrupts
    UART_C2_REG(uartch) |= UART_C2_RIE_MASK;
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
void init_uart0(void){
    //Gate clock to uart0
      SIM_SCGC4 |= SIM_SCGC4_UART0_MASK;
    init_uart(UART0_BASE_PTR,96000,2400);//core clock is 96Mhz=96000Khz
    //enable IR encoding and decoding
    UART0_IR |= UART_IR_IREN_MASK;
    UART0_IR |= UART_IR_TNP(0x0);//narrow pulse 3/16 of baudrate
    //System integration to route UART0_RX to CMP0
    SIM_SOPT5 |= SIM_SOPT5_UART0RXSRC(01);//CMP0 as source of UART0_RX
    SIM_SOPT5 |= SIM_SOPT5_UART0TXSRC(01);//Tx pin modulated with FTM1 channel0 output
    SIM_SOPT2 |= SIM_SOPT2_CMTUARTPAD_MASK;//select dual pad drive strength for UART0_TX
    //Enable receiver and transmitter
    UART0_C2 |= UART_C2_RE_MASK;
    UART0_C2 |= UART_C2_TE_MASK;
    // configure Nested Vector Interrupt Controller: clear pending and set enable
    NVICICPR1 |= interrupt_mask(1,INT_UART0_RX_TX);
    NVICISER1 |= interrupt_mask(1,INT_UART0_RX_TX);
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
//UART0 brief interrupt handler
void UART0_RX_TX_IRQHandler(){
    if((UART0_S1 & UART_S1_RDRF_MASK)==UART_S1_RDRF_MASK){
        byte2 = (uint8_t)UART0_D;
        data_available2=1;
    }
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
//FTM1 initialization, used to modulate UART0_TX
void init_ftm(void){
    SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;//gate the clock
    FTM1_SC |= FTM_SC_CLKS(01);//system core clock as clock source
    FTM1_SC |= FTM_SC_PS(7);//divide system clock by 128 = 750Khz
    FTM1_MODE |= FTM_MODE_WPDIS_MASK;//disable write protect
    FTM1_MOD |= FTM_MOD_MOD(FTM1_MOD_VALUE);//modulo value
    FTM1_C0SC = 0x28;//edge-aligned PWM
    FTM1_C0V = FTM1_C0V_VALUE;
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
void init_cmp0(void){
    //gate the clock to CMP
    SIM_SCGC4 |= SIM_SCGC4_CMP_MASK;
    //disable comparator while configuring
    CMP0_CR1 &= ~(CMP_CR1_OPE_MASK | CMP_CR1_EN_MASK);
    //Configure and enable the Comparator's DAC for reference voltage
    CMP0_DACCR |= CMP_DACCR_VRSEL_MASK;//supply voltage select is 1 for Vin2
    CMP0_DACCR |= CMP_DACCR_VOSEL(0x0F);//Output voltage select is (Vin/64)*VOSEL+1 = Vin * 0.5 for a high(1)
    CMP0_DACCR |= CMP_DACCR_DACEN_MASK;
    //enable PMUX and MMUX
    CMP0_MUXCR |= CMP_MUXCR_PEN_MASK | CMP_MUXCR_MEN_MASK;
    //select IN0 for PMUX(positive side) and DACOUT i.e channel 7 as MMUX(minus side)
    //          |\
    //    IN0---|+\
    //          |  \______CMP_OUT
    //          |  /
    // DACout---|-/
    //          |/
    //         COMPARATOR
    //
    CMP0_MUXCR |= CMP_MUXCR_PSEL(0);
    CMP0_MUXCR |= CMP_MUXCR_MSEL(7);
    //set 0 samples per measurement
    CMP0_CR0 |= CMP_CR0_FILTER_CNT(0x0);//disable filter
    CMP0_CR1 |= CMP_CR1_COS_MASK;//unfiltered output
    CMP0_CR1 |= CMP_CR1_INV_MASK;//invert output
    //enable comparator and the output pin
    CMP0_CR1 |= (CMP_CR1_OPE_MASK | CMP_CR1_EN_MASK);
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

I think I am missing some information on how the modulation actually works. Could you please explain a little further on the actual protocol, how the timing diagrams look like, how do we demodulate, where are the UART settings for demodulation, i can see how we modulate with the FTM, but not how we are actually demodulating the received signal. Is it by sampling the CMP input?

BlackNight‌ you have any ideas?

I got it to work without FTM modulation, just with the 3/16 narrow pulse. UART0 configured with 2400 baudrate and inverted RX, CMP DAC Output voltage select is (Vin/64)*31+1 = VDD(3.3v) * 0.5 = 1.65V for a high(1), supply voltage select is 1 for Vin2 which is VDD (3.3v). The trick is to configure the Comparator properly with a good reference voltage on the inverting input. I did not configure any sampling. Next I will try with FTM modulation, only I dont know how exactly to demodulate on the comparator end using the sampling feature.

I figured out what was the problem. The TWR-K60 has a different IR receiver filter with R=1KOhm and C=0.1uF, which passes frequencies less than 1.6KHz compared to the FRDM-KE02Z which has R=1KOhm and C=1000PF, which will passes frequencies less than 160KHz, hence 38KHz is OK for that board. 38KHz wont work with TWR-K60N512 because it wiIR_connection.pngll be blocked by the filter. I set the UART0 baud lower to 1400 and the FTM1 frequency to 1.5KHz and it works like a charm! I compared the two user manuals :-)

Formula:

fc = 1/(2*pi*Τ) = 1/(2pi*RC); where R=1000Ohms, C=0.1*10^-6Farads

fc = 1.6KHz

%3CLINGO-SUB%20id%3D%22lingo-sub-1114427%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%88%A9%E7%94%A8FRDM-KE02Z%E5%B9%B3%E5%8F%B0%E5%9C%A8UART0%E4%B8%8A%E5%AE%9E%E7%8E%B0%E7%BA%A2%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1114427%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%E6%9C%AC%E6%96%87%E6%A1%A3%E5%B1%95%E7%A4%BA%E4%BA%86%E4%BD%BF%E7%94%A8%20FRDM-KE02Z%20%E5%B9%B3%E5%8F%B0%E5%9C%A8%20UART0%20%E4%B8%8A%E5%AE%9E%E7%8E%B0%E7%BA%A2%E5%A4%96%E7%BA%BF%E3%80%82%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3EFRDM-KE02Z%E5%B9%B3%E5%8F%B0%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BF%AB%E9%80%9F%E5%8E%9F%E5%9E%8B%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0%E3%80%82%E8%AF%A5%E5%BC%80%E5%8F%91%E6%9D%BF%E6%9C%89%E4%B8%80%E4%B8%AA%20MKE02Z64VQH2%20MCU%EF%BC%8C%E8%BF%99%E6%98%AF%20Kinetis%20E%20%E7%B3%BB%E5%88%97%20MCU%EF%BC%8C%E6%98%AF%E7%AC%AC%E4%B8%80%E6%AC%BE%E5%9F%BA%E4%BA%8E%20ARM%20Cortex-M0%2B%20%E5%86%85%E6%A0%B8%E6%9E%84%E5%BB%BA%E7%9A%84%205%20%E4%BC%8F%20MCU%E3%80%82%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8%E9%A3%9E%E6%80%9D%E5%8D%A1%E5%B0%94%E7%9A%84%E7%BD%91%E9%A1%B5%E4%B8%8A%E6%9F%A5%E7%9C%8B%E8%AF%84%E4%BC%B0%E6%9D%BF%EF%BC%88%20%3CA%20href%3D%22http%3A%2F%2Fwww.freescale.com%2Fwebapp%2Fsps%2Fsite%2Fprod_summary.jsp%3Fcode%3DFRDM-KE02Z%22%20title%3D%22http%3A%2F%2Fwww.freescale.com%2Fwebapp%2Fsps%2Fsite%2Fprod_summary.jsp%3Fcode%3DFRDM-KE02Z%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EFRDM-KE02Z%EF%BC%9AKinetis%20E%20%E7%B3%BB%E5%88%97%E8%87%AA%E7%94%B1%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0%3C%2FA%3E%EF%BC%89%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3EFreedom%20Board%20%E5%85%B7%E6%9C%89%E8%AE%B8%E5%A4%9A%E5%87%BA%E8%89%B2%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%85%B6%E4%B8%AD%E4%B9%8B%E4%B8%80%E5%B0%B1%E6%98%AF%E5%85%B6%E4%B8%8A%E7%9A%84%20IrDA%20%E5%8F%91%E5%B0%84%E5%99%A8%E5%92%8C%E6%8E%A5%E6%94%B6%E5%99%A8%E3%80%82%E7%9C%8B%E7%9C%8B%E8%BF%99%E4%B8%AA%EF%BC%81%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22infrared%20on%20board.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22infrared%20on%20board.png%22%20style%3D%22width%3A%20273px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111620i2417853BE1D006D7%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22infrared%20on%20board.png%22%20alt%3D%22infrared%20on%20board.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3EMCU%20%E7%9A%84%E4%B8%80%E4%B8%AA%E7%89%B9%E7%82%B9%E6%98%AF%EF%BC%8CUART0%20%E6%A8%A1%E5%9D%97%E5%8F%AA%E9%9C%80%E9%81%B5%E5%BE%AA%E4%B8%80%E4%BA%9B%E6%8A%80%E5%B7%A7%EF%BC%88MCU%20%E9%AD%94%E6%9C%AF%E6%8A%80%E5%B7%A7%EF%BC%89%E5%8D%B3%E5%8F%AF%E5%AE%9E%E7%8E%B0%E7%BA%A2%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%E6%A0%B9%E6%8D%AE%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%EF%BC%88%E6%96%87%E6%A1%A3%E7%BC%96%E5%8F%B7%EF%BC%9AMKE02Z64M20SF0RM%EF%BC%89%EF%BC%8C%E8%BF%99%E4%BA%9B%E6%8A%80%E5%B7%A7%E6%98%AF%EF%BC%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSTRONG%3EUART0_TX%E8%B0%83%E5%88%B6%EF%BC%9A%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%20style%3D%22list-style-type%3A%20disc%3B%22%3E%3CUL%3E%3CLI%3EUART0_TX%20%E8%BE%93%E5%87%BA%E5%8F%AF%E9%80%9A%E8%BF%87%20FTM0%20%E9%80%9A%E9%81%93%200%20PWM%20%E8%BE%93%E5%87%BA%E8%B0%83%E5%88%B6%3C%2FLI%3E%3C%2FUL%3E%3C%2FUL%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSTRONG%3EUART0_RX%20Tag%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%20style%3D%22list-style-type%3A%20disc%3B%22%3E%3CUL%3E%3CLI%3EUART0_RX%20%E8%BE%93%E5%85%A5%E5%8F%AF%E4%BB%A5%E6%A0%87%E8%AE%B0%E4%B8%BA%20FTM0%20%E9%80%9A%E9%81%93%201%20%E6%88%96%E7%94%B1%20ACMP0%20%E6%A8%A1%E5%9D%97%E8%BF%87%E6%BB%A4%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLI%3E%3C%2FUL%3E%3C%2FUL%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%E5%9C%A8%E8%BF%99%E4%B8%AA%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20ACMP0%20%E6%A8%A1%E5%9D%97%E6%9D%A5%E5%AE%9E%E7%8E%B0%20UART0_RX%20%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%208pt%3B%22%3E%3CEM%3E%E6%B3%A81%EF%BC%9A%E6%A0%B8%E5%BF%83%E9%85%8D%E7%BD%AE%E4%B8%BA%E4%BB%A5%E6%9C%80%E5%A4%A7%E9%A2%91%E7%8E%87%E8%BF%90%E8%A1%8C%EF%BC%9A20%20Mhz%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%208pt%3B%22%3E%3CEM%3E%E6%B3%A82%EF%BC%9A%E6%9C%89%E5%85%B3%E5%AF%84%E5%AD%98%E5%99%A8%E7%9A%84%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E6%96%87%E6%A1%A3%E3%80%82%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%208pt%3B%22%3E%3CEM%3E%3CBR%20%2F%3E%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CH2%20id%3D%22toc-hId--1415419786%22%20id%3D%22toc-hId--492729957%22%3E%E9%85%8D%E7%BD%AEFTM0%E3%80%82%3C%2FH2%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%E6%8E%A5%E4%B8%8B%E6%9D%A5%E7%9A%84%E5%87%A0%E8%A1%8C%E6%98%BE%E7%A4%BA%E4%BA%86%20FTM0%20%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9B%E8%AF%A5%E6%A8%A1%E5%9D%97%E9%85%8D%E7%BD%AE%E7%9A%84%E9%A2%91%E7%8E%87%E4%B8%BA%2038%20KHz%EF%BC%8C%E8%BF%99%E6%98%AF%E7%BA%A2%E5%A4%96%20LED%20%E7%9A%84%E7%90%86%E6%83%B3%E9%A2%91%E7%8E%87%E3%80%82FTM0_CH0%20%E5%A4%84%E4%BA%8E%20Edge_Aligned%20PWM%20%E6%A8%A1%E5%BC%8F%20(EPWM)%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%23%E5%AE%9A%E4%B9%89%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EIR_FREQUENCY%2038000%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E8%B5%AB%E5%85%B9%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%23%E5%AE%9A%E4%B9%89%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EFTM0_%E6%97%B6%E9%92%9F%E6%80%BB%E7%BA%BF_CLK_HZ%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%23%E5%AE%9A%E4%B9%89%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%3CSPAN%20style%3D%22background%3A%20silver%3B%22%3EFTM0_MOD_VALUEFTM0_CLOCK%3C%2FSPAN%3E%20%2FIR_FREQUENCY%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%23define%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%20FTM0_C0V_VALUE%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM0_MOD_VALUE%2F2%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20void%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%20%3CSTRONG%3EFTM0CH0_Init%3C%2FSTRONG%3E(%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3Evoid%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%20)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SCGC%20%7C%3D%20SIM_SCGC_FTM0_MASK%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E5%88%9D%E5%A7%8B%E5%8C%96%3C%2FSPAN%3EFTM0%E4%B8%BAPWM%E8%BE%93%E5%87%BA%EF%BC%8C%E9%A2%91%E7%8E%87%E4%B8%BA38khz%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM0_MOD%3D%20FTM0_MOD_VALUE%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM0_C0SC%20%3D%200x28%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM0_C0V%20%3D%20FTM0_C0V_VALUE%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EFTM0_SC%20%3D%200x08%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%E6%80%BB%E7%BA%BF%E6%97%B6%E9%92%9F%E9%99%A4%E4%BB%A52%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E9%80%9A%E8%BF%87%E8%BF%99%E7%A7%8D%E6%96%B9%E5%BC%8F%EF%BC%8C%E6%88%91%E4%BB%AC%E9%80%9A%E8%BF%87%20FTM0_CH0%20%E4%B8%8A%E7%9A%84%20PWM%20%E5%AE%8C%E6%88%90%20UART0_TX%20%E8%B0%83%E5%88%B6%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CH2%20id%3D%22toc-hId-1072093047%22%20id%3D%22toc-hId-1994782876%22%3E%E9%85%8D%E7%BD%AE%20ACMP0%E3%80%82%3C%2FH2%3E%3CP%3EACMP0%20%E7%9A%84%E9%85%8D%E7%BD%AE%E4%BD%BF%E7%94%A8%20DAC%20%E5%B9%B6%E5%85%81%E8%AE%B8%20ACMP0%20%E7%94%B1%E6%A8%A1%E6%8B%9F%E8%BE%93%E5%85%A5%E9%A9%B1%E5%8A%A8%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20void%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%20%3CSTRONG%3EACMP_Init%3C%2FSTRONG%3E%20(%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3Evoid%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%20)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SCGC%20%7C%3D%20SIM_SCGC_ACMP0_MASK%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EACMP0_C1%20%7C%3D%20ACMP_C1_DACEN_MASK%20%7C%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EACMP_C1_DACREF_MASK%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EACMP_C1_DACVAL(21)%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%E5%90%AF%E7%94%A8DAC%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EACMP0_C0%20%7C%3D%20ACMP_C0_ACPSEL(0x03)%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EACMP_C0_ACNSEL(0x01)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EACMP0_C2%20%7C%3D%20ACMP_C2_ACIPE(0x02)%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%20%E5%90%AF%E7%94%A8%20ACMP1%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20PIN%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EACMP0_CS%20%7C%3D%20ACMP_CS_ACE_MASK%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%E5%90%AF%E7%94%A8%20ACMP%3C%2FSPAN%3E%20%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E5%AE%9E%E7%8E%B0%E4%BA%86%20UART0_RX%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CH2%20id%3D%22toc-hId--735361416%22%20id%3D%22toc-hId-187328413%22%3EIrDA%20%E5%88%9D%E5%A7%8B%E5%8C%96%E3%80%82%3C%2FH2%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%E7%8E%B0%E5%9C%A8%E9%87%8D%E8%A6%81%E7%9A%84%E6%98%AF%E5%88%9D%E5%A7%8B%E5%8C%96%20UART0%20%E4%BB%A5%E4%B8%8E%E8%BF%99%E4%BA%9B%E6%8A%80%E5%B7%A7%E5%8D%8F%E5%90%8C%E5%B7%A5%E4%BD%9C%E5%B9%B6%E5%AE%9E%E7%8E%B0%20irDA%20%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%E5%9F%BA%E6%9C%AC%E4%B8%8A%EF%BC%8C%E6%88%91%E4%BB%AC%E5%83%8F%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%B8%B8%E4%B8%B2%E8%A1%8C%E9%80%9A%E4%BF%A1%E6%97%B6%E4%B8%80%E6%A0%B7%E5%88%9D%E5%A7%8B%E5%8C%96%20UART0%EF%BC%88%3CEM%3E%E8%BF%99%E4%B8%8D%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E4%B8%BB%E9%A2%98%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%20UART_init%20%E5%87%BD%E6%95%B0%3C%2FEM%3E%EF%BC%89%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%99%E5%85%A5%E6%9C%80%E9%87%8D%E8%A6%81%E7%9A%84%E5%AF%84%E5%AD%98%E5%99%A8%EF%BC%9A%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3CSTRONG%3ESIM_SOPT%20%7C%3D%20SIM_SOPT_RXDFE_MASK%EF%BC%9B%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%20style%3D%22list-style-type%3A%20disc%3B%22%3E%3CUL%3E%3CLI%3EUART0_RX%E8%BE%93%E5%85%A5%E4%BF%A1%E5%8F%B7%E7%94%B1ACMP%E6%BB%A4%E6%B3%A2%EF%BC%8C%E7%84%B6%E5%90%8E%E6%B3%A8%E5%85%A5UART0%E3%80%82%3C%2FLI%3E%3C%2FUL%3E%3C%2FUL%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSTRONG%3ESIM_SOPT%20%7C%3D%20SIM_SOPT_TXDME_MASK%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%20style%3D%22list-style-type%3A%20disc%3B%22%3E%3CUL%3E%3CLI%3EUART0_TX%E8%BE%93%E5%87%BA%E5%88%B0%E5%BC%95%E5%87%BA%E7%BA%BF%E5%89%8D%E7%94%B1FTM0%E9%80%9A%E9%81%930%E8%B0%83%E5%88%B6%E3%80%82%3C%2FLI%3E%3C%2FUL%3E%3C%2FUL%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%E9%85%8D%E7%BD%AE%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20void%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%20%3CSPAN%20style%3D%22background%3A%20silver%3B%22%3E%3CSTRONG%3EIrDA_Init%3C%2FSTRONG%3E%3C%2FSPAN%3E(%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%22%3E%3CSTRONG%3Evoid%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%20)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-indent%3A%200.5in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E5%88%9D%E5%A7%8B%E5%8C%96%3C%2FSPAN%3EUART0%EF%BC%8C%E6%B3%A2%E7%89%B9%E7%8E%87%E4%B8%BA2400%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20UART_init(UART0_BASE_PTR%2CBUS_CLK_HZ%2F1000%2C2400)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%20clear%20RDRF%20flag%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3EUART0_S1%20%7C%3D%20UART_S1_RDRF_MASK%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E5%88%9D%E5%A7%8B%E5%8C%96%3C%2FSPAN%3EFTM0CH1%E4%B8%BA38k%20PWM%E8%BE%93%E5%87%BA%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM0CH0_Init()%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2F%20enable%20ACMP%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ACMP_Init()%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22margin-left%3A%203in%3B%20margin-bottom%3A%200.0001pt%3B%20text-indent%3A%20-2.5in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3ESIM_SOPT%20%7C%3D%20SIM_SOPT_RXDFE_MASK%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2FUART0_RX%E8%BE%93%E5%85%A5%E4%BF%A1%E5%8F%B7%E7%BB%8F%E8%BF%87ACMP%E6%BB%A4%E6%B3%A2%E5%90%8E%E6%B3%A8%E5%85%A5%E5%88%B0UART0%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20UART0_S2%20%26amp%3B%3D%20~UART_S2_RXINV_MASK%3B%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2Finverse%20data%20input%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-left%3A%203in%3B%20margin-bottom%3A%200.0001pt%3B%20text-indent%3A%20-2.5in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3ESIM_SOPT%20%7C%3D%20SIM_SOPT_TXDME_MASK%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20%233f7f5f%3B%22%3E%2F%2FUART0_TX%20%E8%BE%93%E5%87%BA%E5%9C%A8%E6%98%A0%E5%B0%84%E5%88%B0%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E5%BC%95%E8%84%9A%3C%2FSPAN%3E%E6%8E%92%E5%88%97%E4%B9%8B%E5%89%8D%E7%94%B1%20FTM0%20%E9%80%9A%E9%81%93%200%20%E8%B0%83%E5%88%B6%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20Consolas%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%E9%80%9A%E8%BF%87%20irDA%20%E5%88%9D%E5%A7%8B%E5%8C%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%9C%A8%20UART0%20%E4%B8%8A%E8%8E%B7%E5%BE%97%E4%BA%86%E7%BA%A2%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20justify%3B%22%3E%3C%2FP%3E%3CH2%20id%3D%22toc-hId-1752151417%22%20id%3D%22toc-hId--1620126050%22%3E%E6%A6%9C%E6%A0%B7%E7%9A%84%E5%93%B2%E5%AD%A6%3C%2FH2%3E%3CP%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E7%9A%84%E9%99%84%E4%BB%B6%E4%B8%AD%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0%E4%B8%80%E4%B8%AA%E7%A4%BA%E4%BE%8B%EF%BC%8C%E8%AF%A5%E7%A4%BA%E4%BE%8B%E5%B1%95%E7%A4%BA%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%E5%9F%BA%E6%9C%AC%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%BF%99%E4%BA%9B%E5%87%BD%E6%95%B0%EF%BC%9B%E8%AF%A5%E9%A1%B9%E7%9B%AE%E6%98%AF%E5%9C%A8%20CodeWarrior%2010.6%20%E4%B8%AD%E7%BC%96%E8%AF%91%E7%9A%84%EF%BC%8C%E5%85%B6%E7%90%86%E5%BF%B5%E6%98%AF%EF%BC%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Slide1.JPG%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Slide1.JPG%22%20style%3D%22width%3A%20960px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111619i864FDD6ED9ECA72D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Slide1.JPG%22%20alt%3D%22Slide1.JPG%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%E6%88%91%E5%B8%8C%E6%9C%9B%E6%9C%AC%E6%96%87%E6%A1%A3%E4%B8%AD%E6%8F%90%E4%BE%9B%E7%9A%84%E4%BF%A1%E6%81%AF%E5%AF%B9%E6%82%A8%E6%9C%89%E7%94%A8%E3%80%82%E8%B0%A2%E8%B0%A2%E4%BD%A0%EF%BC%81%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%E6%AD%A4%E8%87%B4%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1114427%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EFreedom%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EKinetis%20E%E7%B3%BB%E5%88%97MCU%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1114431%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E4%BD%BF%E7%94%A8%20FRDM-KE02Z%20%E5%B9%B3%E5%8F%B0%E5%9C%A8%20UART0%20%E4%B8%8A%E5%AE%9E%E7%8E%B0%E7%BA%A2%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1114431%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E6%88%91%E6%98%8E%E7%99%BD%E9%97%AE%E9%A2%98%E6%98%AF%E4%BB%80%E4%B9%88%E4%BA%86%E3%80%82TWR-K60%20%E5%85%B7%E6%9C%89%E4%B8%8D%E5%90%8C%E7%9A%84%E7%BA%A2%E5%A4%96%E6%8E%A5%E6%94%B6%E5%99%A8%E6%BB%A4%E6%B3%A2%E5%99%A8%EF%BC%8C%E5%85%B6%20R%3D1KOhm%20%E5%92%8C%20C%3D0.1uF%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87%E4%BD%8E%E4%BA%8E%201.6KHz%20%E7%9A%84%E9%A2%91%E7%8E%87%EF%BC%8C%E8%80%8C%20FRDM-KE02Z%20%E5%85%B7%E6%9C%89%20R%3D1KOhm%20%E5%92%8C%20C%3D1000PF%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87%E4%BD%8E%E4%BA%8E%20160KHz%20%E7%9A%84%E9%A2%91%E7%8E%87%EF%BC%8C%E5%9B%A0%E6%AD%A4%2038KHz%20%E5%AF%B9%E8%AF%A5%E6%9D%BF%E6%9D%A5%E8%AF%B4%E6%98%AF%E5%8F%AF%E4%BB%A5%E7%9A%84%E3%80%8238KHz%20%E6%97%A0%E6%B3%95%E4%B8%8E%20TWR-K60N512%20%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%BC%9A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22IR_connection.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22IR_connection.png%22%20style%3D%22width%3A%20961px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F5786i239E2F1A8322C8E6%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22IR_connection.png%22%20alt%3D%22IR_connection.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%E4%BC%9A%E8%A2%AB%E8%BF%87%E6%BB%A4%E5%99%A8%E9%98%BB%E6%8C%A1%E3%80%82%E6%88%91%E5%B0%86%20UART0%20%E6%B3%A2%E7%89%B9%E7%8E%87%E8%AE%BE%E7%BD%AE%E4%B8%BA%201400%EF%BC%8C%E5%B0%86%20FTM1%20%E9%A2%91%E7%8E%87%E8%AE%BE%E7%BD%AE%E4%B8%BA%201.5KHz%EF%BC%8C%E6%95%88%E6%9E%9C%E9%9D%9E%E5%B8%B8%E5%A5%BD%EF%BC%81%E6%88%91%E6%AF%94%E8%BE%83%E4%BA%86%E8%BF%99%E4%B8%A4%E6%9C%AC%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C%3A-)%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E5%85%AC%E5%BC%8F%EF%BC%9A%3C%2FP%3E%3CP%3Efc%20%3D%201%2F(2*pi*%CE%A4)%20%3D%201%2F(2pi*RC)%EF%BC%9B%E5%85%B6%E4%B8%AD%20R%3D1000%20%E6%AC%A7%E5%A7%86%EF%BC%8CC%3D0.1*10%5E-6%20%E6%B3%95%E6%8B%89%3C%2FP%3E%3CP%3Efc%20%3D%201.6KHz%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1114430%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E4%BD%BF%E7%94%A8%20FRDM-KE02Z%20%E5%B9%B3%E5%8F%B0%E5%9C%A8%20UART0%20%E4%B8%8A%E5%AE%9E%E7%8E%B0%E7%BA%A2%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1114430%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E6%88%91%E8%AE%A9%E5%AE%83%E5%B7%A5%E4%BD%9C%E6%97%B6%E6%B2%A1%E6%9C%89%E4%BD%BF%E7%94%A8%20FTM%20%E8%B0%83%E5%88%B6%EF%BC%8C%E5%8F%AA%E4%BD%BF%E7%94%A8%203%2F16%20%E7%AA%84%E8%84%89%E5%86%B2%E3%80%82UART0%20%E9%85%8D%E7%BD%AE%E4%B8%BA%202400%20%E6%B3%A2%E7%89%B9%E7%8E%87%E5%92%8C%E5%8F%8D%E5%90%91%20RX%EF%BC%8CCMP%20DAC%20%E8%BE%93%E5%87%BA%E7%94%B5%E5%8E%8B%E9%80%89%E6%8B%A9%E4%B8%BA%20(Vin%2F64)*31%2B1%20%3D%20VDD(3.3v)*%20%E9%AB%98%E7%94%B5%E5%B9%B3%EF%BC%881%EF%BC%89%E6%97%B6%200.5%20%3D%201.65V%EF%BC%8CVin2%20%E7%9A%84%E7%94%B5%E6%BA%90%E7%94%B5%E5%8E%8B%E9%80%89%E6%8B%A9%E4%B8%BA%201%EF%BC%8C%E5%8D%B3%20VDD%EF%BC%883.3v%EF%BC%89%E3%80%82%E8%AF%80%E7%AA%8D%E6%98%AF%E5%9C%A8%E5%8F%8D%E7%9B%B8%E8%BE%93%E5%85%A5%E7%AB%AF%E4%BD%BF%E7%94%A8%E8%89%AF%E5%A5%BD%E7%9A%84%E5%8F%82%E8%80%83%E7%94%B5%E5%8E%8B%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%E6%AF%94%E8%BE%83%E5%99%A8%E3%80%82%E6%88%91%E6%B2%A1%E6%9C%89%E9%85%8D%E7%BD%AE%E4%BB%BB%E4%BD%95%E9%87%87%E6%A0%B7%E3%80%82%E6%8E%A5%E4%B8%8B%E6%9D%A5%E6%88%91%E5%B0%86%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20FTM%20%E8%B0%83%E5%88%B6%EF%BC%8C%E4%BD%86%E6%88%91%E4%B8%8D%E7%9F%A5%E9%81%93%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E9%87%87%E6%A0%B7%E5%8A%9F%E8%83%BD%E5%9C%A8%E6%AF%94%E8%BE%83%E5%99%A8%E7%AB%AF%E8%BF%9B%E8%A1%8C%E8%A7%A3%E8%B0%83%E3%80%82%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1114429%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E4%BD%BF%E7%94%A8%20FRDM-KE02Z%20%E5%B9%B3%E5%8F%B0%E5%9C%A8%20UART0%20%E4%B8%8A%E5%AE%9E%E7%8E%B0%E7%BA%A2%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1114429%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20TWR-K60N512%20KIT%20%E8%BF%9B%E8%A1%8C%E5%B0%9D%E8%AF%95%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%AF%94%E8%BE%83%E5%99%A8%E4%BB%8E%E7%94%B5%E8%A7%86%E9%81%A5%E6%8E%A7%E4%BF%A1%E5%8F%B7%E6%8E%A5%E6%94%B6%20UART0_Rx%20%E4%B8%8A%E7%9A%84%E4%B8%AD%E6%96%AD%EF%BC%8C%E4%BD%86%E4%B8%8D%E8%83%BD%E4%BB%8E%20Tx%20%E5%BC%95%E8%84%9A%E6%8E%A5%E6%94%B6%E4%B8%AD%E6%96%AD%EF%BC%8C%E5%B0%BD%E7%AE%A1%E4%BD%BF%E7%94%A8%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%E6%91%84%E5%83%8F%E5%A4%B4%E6%A3%80%E6%9F%A5%EF%BC%8CTx%20IR%20%E4%BF%A1%E5%8F%B7%E6%AD%A3%E5%9C%A8%E8%BF%9B%E8%A1%8C%E3%80%82%E4%BB%A3%E7%A0%81%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23include%20%3CSPAN%20class%3D%22string%20token%22%3E%22types.h%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23include%20%3CSPAN%20class%3D%22string%20token%22%3E%22infrared.h%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20IR_FREQUENCY%26nbsp%3B%26nbsp%3B%26nbsp%3B%2038000%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20FTM1_CLOCK%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20750000%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20FTM1_MOD_VALUE%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_CLOCK%2FIR_FREQUENCY%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20FTM1_C0V_VALUE%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_MOD_VALUE%2F2%3C%2FSPAN%3E%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Einit_infrared%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Finitialize%20uart0%20as%20infrared%20port%20through%20CMP0%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3Einit_uart0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Finitialize%20Comparator%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3Einit_cmp0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Finitialize%20the%20Flex%20timer%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3Einit_ftm%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Einit_uart%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EUART_MemMapPtr%20uartch%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22keyword%20token%22%3Eint%3C%2FSPAN%3E%20sysclk%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22keyword%20token%22%3Eint%3C%2FSPAN%3E%20baud%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20uint16_t%20ubd%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20temp%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20brfa%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fdisable%20Tx%20and%20Rx%20during%20setup%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EUART_C2_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E~%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EUART_C2_TE_MASK%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20UART_C2_RE_MASK%20%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Configure%20the%20UART%20for%208-bit%20mode%2C%20no%20parity%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20We%20need%20all%20default%20settings%2C%20so%20entire%20register%20is%20cleared%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EUART_C1_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Calculate%20baud%20settings%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ubd%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint16_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Esysclk%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1000%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%2F%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Ebaud%20%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E16%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Save%20off%20the%20current%20value%20of%20the%20UARTx_BDH%20except%20for%20the%20SBR%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20temp%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EUART_BDH_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E~%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22token%20function%22%3EUART_BDH_SBR%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0x1F%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EUART_BDH_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20temp%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EUART_BDH_SBR%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Eubd%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0x1F00%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26gt%3B%26gt%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E8%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EUART_BDL_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint8_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Eubd%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%20UART_BDL_SBR_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Determine%20if%20a%20fractional%20divider%20is%20needed%20to%20get%20closer%20to%20the%20baud%20rate%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20brfa%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Esysclk%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E32000%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%2F%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Ebaud%20%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E16%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E-%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Eubd%20%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E32%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Save%20off%20the%20current%20value%20of%20the%20UARTx_C4%20register%20except%20for%20the%20BRFA%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20temp%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EUART_C4_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E~%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22token%20function%22%3EUART_C4_BRFA%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0x1F%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EUART_C4_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20temp%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EUART_C4_BRFA%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Ebrfa%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%20enable%20the%20reciever%20interrupts%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EUART_C2_REG%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euartch%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20UART_C2_RIE_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Einit_uart0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FGate%20clock%20to%20uart0%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SCGC4%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20SIM_SCGC4_UART0_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3Einit_uart%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EUART0_BASE_PTR%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E96000%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2400%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fcore%20clock%20is%2096Mhz%3D96000Khz%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fenable%20IR%20encoding%20and%20decoding%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20UART0_IR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20UART_IR_IREN_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20UART0_IR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EUART_IR_TNP%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0x0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fnarrow%20pulse%203%2F16%20of%20baudrate%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FSystem%20integration%20to%20route%20UART0_RX%20to%20CMP0%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SOPT5%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3ESIM_SOPT5_UART0RXSRC%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E01%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FCMP0%20as%20source%20of%20UART0_RX%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SOPT5%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3ESIM_SOPT5_UART0TXSRC%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E01%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FTx%20pin%20modulated%20with%20FTM1%20channel0%20output%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SOPT2%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20SIM_SOPT2_CMTUARTPAD_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fselect%20dual%20pad%20drive%20strength%20for%20UART0_TX%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FEnable%20receiver%20and%20transmitter%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20UART0_C2%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20UART_C2_RE_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20UART0_C2%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20UART_C2_TE_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%20configure%20Nested%20Vector%20Interrupt%20Controller%3A%20clear%20pending%20and%20set%20enable%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20NVICICPR1%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Einterrupt_mask%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3EINT_UART0_RX_TX%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20NVICISER1%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Einterrupt_mask%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3EINT_UART0_RX_TX%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FUART0%20brief%20interrupt%20handler%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EUART0_RX_TX_IRQHandler%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Eif%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EUART0_S1%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%20UART_S1_RDRF_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3D%3C%2FSPAN%3EUART_S1_RDRF_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20byte2%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint8_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3EUART0_D%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20data_available2%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FFTM1%20initialization%2C%20used%20to%20modulate%20UART0_TX%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Einit_ftm%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SCGC6%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20SIM_SCGC6_FTM1_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fgate%20the%20clock%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_SC%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EFTM_SC_CLKS%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E01%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fsystem%20core%20clock%20as%20clock%20source%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_SC%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EFTM_SC_PS%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E7%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fdivide%20system%20clock%20by%20128%20%3D%20750Khz%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_MODE%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20FTM_MODE_WPDIS_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fdisable%20write%20protect%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_MOD%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EFTM_MOD_MOD%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EFTM1_MOD_VALUE%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fmodulo%20value%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_C0SC%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0x28%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fedge-aligned%20PWM%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20FTM1_C0V%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20FTM1_C0V_VALUE%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Einit_cmp0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fgate%20the%20clock%20to%20CMP%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIM_SCGC4%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20SIM_SCGC4_CMP_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fdisable%20comparator%20while%20configuring%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_CR1%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E~%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ECMP_CR1_OPE_MASK%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20CMP_CR1_EN_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FConfigure%20and%20enable%20the%20Comparator's%20DAC%20for%20reference%20voltage%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_DACCR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20CMP_DACCR_VRSEL_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fsupply%20voltage%20select%20is%201%20for%20Vin2%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_DACCR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3ECMP_DACCR_VOSEL%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0x0F%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FOutput%20voltage%20select%20is%20(Vin%2F64)*VOSEL%2B1%20%3D%20Vin%20*%200.5%20for%20a%20high(1)%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_DACCR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20CMP_DACCR_DACEN_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fenable%20PMUX%20and%20MMUX%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_MUXCR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20CMP_MUXCR_PEN_MASK%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20CMP_MUXCR_MEN_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fselect%20IN0%20for%20PMUX(positive%20side)%20and%20DACOUT%20i.e%20channel%207%20as%20MMUX(minus%20side)%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%5C%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%26nbsp%3B%26nbsp%3B%26nbsp%3B%20IN0---%7C%2B%5C%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%26nbsp%3B%20%5C______CMP_OUT%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%26nbsp%3B%20%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%20DACout---%7C-%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%2F%20%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20COMPARATOR%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_MUXCR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3ECMP_MUXCR_PSEL%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_MUXCR%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3ECMP_MUXCR_MSEL%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E7%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fset%200%20samples%20per%20measurement%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_CR0%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3ECMP_CR0_FILTER_CNT%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0x0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fdisable%20filter%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_CR1%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20CMP_CR1_COS_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Funfiltered%20output%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_CR1%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20CMP_CR1_INV_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Finvert%20output%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fenable%20comparator%20and%20the%20output%20pin%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CMP0_CR1%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ECMP_CR1_OPE_MASK%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20CMP_CR1_EN_MASK%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%3C%2FP%3E%3CP%3E%E6%88%91%E8%AE%A4%E4%B8%BA%E6%88%91%E7%BC%BA%E5%B0%91%E4%B8%80%E4%BA%9B%E6%9C%89%E5%85%B3%E8%B0%83%E5%88%B6%E5%AE%9E%E9%99%85%E5%A6%82%E4%BD%95%E5%B7%A5%E4%BD%9C%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%E6%82%A8%E8%83%BD%E5%90%A6%E8%BF%9B%E4%B8%80%E6%AD%A5%E8%A7%A3%E9%87%8A%E4%B8%80%E4%B8%8B%E5%AE%9E%E9%99%85%E5%8D%8F%E8%AE%AE%EF%BC%8C%E6%97%B6%E5%BA%8F%E5%9B%BE%E6%98%AF%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%EF%BC%8C%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E8%A7%A3%E8%B0%83%EF%BC%8C%E8%A7%A3%E8%B0%83%E7%9A%84%20UART%20%E8%AE%BE%E7%BD%AE%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E7%94%A8%20FTM%20%E8%BF%9B%E8%A1%8C%E8%B0%83%E5%88%B6%EF%BC%8C%E4%BD%86%E4%B8%8D%E7%9F%A5%E9%81%93%E5%A6%82%E4%BD%95%E5%AE%9E%E9%99%85%E8%A7%A3%E8%B0%83%E6%8E%A5%E6%94%B6%E5%88%B0%E7%9A%84%E4%BF%A1%E5%8F%B7%E3%80%82%E6%98%AF%E9%80%9A%E8%BF%87%E5%AF%B9%20CMP%20%E8%BE%93%E5%85%A5%E8%BF%9B%E8%A1%8C%E9%87%87%E6%A0%B7%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2FBlackNight%22%20target%3D%22_blank%22%3EBlackNight%3C%2FA%3E%E4%BD%A0%E6%9C%89%E4%BB%80%E4%B9%88%E6%83%B3%E6%B3%95%E5%90%97%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1114428%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E4%BD%BF%E7%94%A8%20FRDM-KE02Z%20%E5%B9%B3%E5%8F%B0%E5%9C%A8%20UART0%20%E4%B8%8A%E5%AE%9E%E7%8E%B0%E7%BA%A2%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1114428%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3EHello%20Sanchez%2C%3C%2FP%3E%3CP%3E%E7%A1%AE%E5%AE%9E%E6%98%AF%E4%B8%80%E7%AF%87%E5%A5%BD%E6%96%87%E7%AB%A0%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E6%88%91%E6%83%B3%E7%9F%A5%E9%81%93%E6%B2%9F%E9%80%9A%E6%A8%A1%E5%BC%8F%E5%8F%AF%E8%83%BD%E6%98%AF%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%EF%BC%9F%E5%AE%83%E6%98%AF%E6%A0%87%E5%87%86%E7%9A%84%203%2F16%20%E4%BD%8D%E5%AE%BD%E5%BA%A6%E9%80%9A%E4%BF%A1%E5%90%97%EF%BC%9F%E8%BF%98%E6%98%AF%E8%B0%83%E5%88%B6%E7%9A%84%20Tx%20%E6%B3%A2%E5%BD%A2%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%AE%8C%E5%85%A8%E4%B8%8D%E5%90%8C%EF%BC%9F%E7%94%B1%E4%BA%8E%20FTM%20%E6%AD%A3%E5%9C%A8%E8%BF%9E%E7%BB%AD%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%97%A0%E6%B3%95%E5%9C%A8%E7%A4%BA%E6%B3%A2%E5%99%A8%E4%B8%8A%E6%8D%95%E8%8E%B7%E3%80%82%E8%B0%83%E5%88%B6%E5%90%8E%E7%9A%84%E6%B3%A2%E5%BD%A2%E6%98%AF%E5%90%A6%E4%B8%8E%E9%99%84%E5%9B%BE%E7%9A%84%E6%B3%A2%E5%BD%A2%E7%9B%B8%E4%BC%BC%EF%BC%9F%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22HT32F125x_IrDA_TimingDiagram.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22HT32F125x_IrDA_TimingDiagram.png%22%20style%3D%22width%3A%20818px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F50596i9825ED0A8F296542%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22HT32F125x_IrDA_TimingDiagram.png%22%20alt%3D%22HT32F125x_IrDA_TimingDiagram.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
无评分
版本历史
最后更新:
‎06-05-2014 02:33 PM
更新人: