2411|0

445

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

【TI首届低功耗设计大赛】+串口调试 [复制链接]

这次根据下载里面的技术文档进行串口,采用的C语言的库的编程形式,感觉到C语言库带来的方便,再也不用操作具体寄存器了。只需要知道的函数的作用就可以了。SMCLK =  8M  波特率9600 数据位8位,停止位1位,无检验。

void Init_UART()
{
        // Configure UART
    if ( STATUS_FAIL == EUSCI_A_UART_initAdvance(EUSCI_A0_BASE,
                                                 EUSCI_A_UART_CLOCKSOURCE_SMCLK,
                                                 52,                                                                //波特率9600
                                                 1,
                                                 0x49,
                                                 EUSCI_A_UART_NO_PARITY,
                                                 EUSCI_A_UART_LSB_FIRST,
                                                 EUSCI_A_UART_ONE_STOP_BIT,
                                                 EUSCI_A_UART_MODE,
                                                 EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION ))
        return;

    EUSCI_A_UART_enable(EUSCI_A0_BASE);

    EUSCI_A_UART_clearInterruptFlag(EUSCI_A0_BASE,
                                    EUSCI_A_UART_RECEIVE_INTERRUPT);

    // Enable USCI_A0 RX interrupt
    EUSCI_A_UART_enableInterrupt(EUSCI_A0_BASE,
                                 EUSCI_A_UART_RECEIVE_INTERRUPT); // Enable interrupt

    // Enable globale interrupt
    __enable_interrupt();
}

/*
* USCI_A0 Interrupt Service Routine that receives PC GUI's commands
*/
#pragma vector = USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
        int i;

    switch (__even_in_range(UCA0IV, USCI_UART_UCTXCPTIFG)) {
        case USCI_NONE: break;
        case USCI_UART_UCRXIFG:
            i = EUSCI_A_UART_receiveData(EUSCI_A0_BASE);

            EUSCI_A_UART_transmitData(EUSCI_A0_BASE,i);
                /*if (i == '5')
                pingHost = 1;
            else
                mode = i;
            __bic_SR_register_on_exit(LPM3_bits); // Exit active CPU*/

            break;
        case USCI_UART_UCTXIFG: break;
        case USCI_UART_UCSTTIFG: break;
        case USCI_UART_UCTXCPTIFG: break;
    }
}


以上为中断函数和串口的初使化的函数。

函数代码 uart.rar (493.7 KB, 下载次数: 5, 售价: 1 分芯积分)




 
点赞 关注(1)
个人签名stay hungry,stay foolish.

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表