2回答

0收藏

PSoC3 FirstTouch Starter Kit 之简单串口通信

英飞凌 英飞凌 3904 人阅读 | 2 人回复 | 2012-10-13

本帖最后由 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;
                        }
                }
    }
}


分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

小鸟_愤怒

发表于 2012-10-14 00:46:05 | 只看该作者

顶,RX最好也接个LED
静心  简单  认真  专注
板凳

w932443004

发表于 2012-10-14 01:51:06 | 只看该作者

小鸟愤怒 发表于 2012-10-14 00:46
顶,RX最好也接个LED

恩 不错不错   
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条