sky-Hawk where 发表于 2012-10-13 01:09:45

PSoC3 FirstTouch Starter Kit 之简单串口通信

本帖最后由 wangku001wei 于 2012-10-13 01:11 编辑

尝试了下Com串口
PSoC3的串口中 TX RX 引脚可以自由分配
首先看原理图
串口通信部分 放置了两个数字IO端口,一个终端,一个UART组件

为了判断接收成功 又放了个控制LED灯的寄存器及数字IO


我对串口接收设置了中断,串口组件的设置如下
采用19200的波特率

设置了RX中断

注意TX及RX的引脚设置
Tx引脚设置

注意其引脚模式一定要写成CMOS_Out,否则TX引脚无法输出串口数据,我就纠结了好长时间


Rx引脚设置

RX则要设置成高阻


TX 及 RX 及 led 的引脚分配


在测试串口接收的工程中 下位机把接收到的字符重新发送出去 同时LED灯发生一次闪烁
串口调试助手如下图所示


rx接收中段代码

*******************************************************************************/
CY_ISR(isr_1_Interrupt)
{
    /*Place your Interrupt code here. */
    /* `#START isr_1_Interrupt` */
      UART_1_GetRxInterruptSource();// clear the Status register
      revFlag = 1;
    /* `#END` */
}

主函数代码

extern uint8 revFlag;
void main()
{
    /* Place your initialization/startup code here (e.g. MyInst_Start()) */
      
      uint8 i = 0;
      uint8 revData = 0;
      uint8 flag = 1;
      CYGlobalIntEnable;
      isr_1_Start();      
      UART_1_Start();
      //UART_1_LoadTxConfig();
    while(1)
    {
                // Test Tx Mode
//      UART_1_PutChar(i);
//                if(i==255)      
//                        i = 0;
//                else
//                        i += 1;
//                UART_1_PutString("Test");
//                CyDelay(500);// 500msCyDelay

                // Test Rx Mode
                if(revFlag)
                {
                        revFlag = 0;
                        // get revData;
                        revData = UART_1_ReadRxData(); //ok
                        // sent back
                        
                        UART_1_PutChar(revData);
                        CyDelay(100);
                        
                        // Test RX INIT OK
                        if(flag)
                        {      
                              Control_Reg_1_Write(1);      //??
                              flag = 0;
                        }
                        else
                        {
                              Control_Reg_1_Write(0);      //??
                              flag = 1;
                        }
                }
    }
}


sky-Hawk where 发表于 2012-10-14 01:51:06

小鸟愤怒 发表于 2012-10-14 00:46 static/image/common/back.gif
顶,RX最好也接个LED

恩 不错不错   

sky-Hawk where 发表于 2012-10-14 00:46:05

顶,RX最好也接个LED
页: [1]
查看完整版本: PSoC3 FirstTouch Starter Kit 之简单串口通信

Baidu
map