打印
[PIC®/AVR®/dsPIC®产品]

【4月晒板卡】+PIC16F18446开启串口通讯

[复制链接]
1301|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
    经过几次反复测试,今天串口通讯终于成功了。测试过程如下:
    首先在MMC中配置好EUSART1,我选择的是8位数据,波特率为9600,为什么不选115200,因为在本单片机中只有9600的误码率最低,仅0.16%,没有比这更低的误码率了。

    引脚的配置用默认的,即RB5为RX,RB7为TX,这些设置不用变动。

    生成基本代码后,初始化函数已经包含在main()函数的SYSTEM_Initialize()中,只要将接收和发送的范例复制到主循环中,这段代码在eusart1.h文件中可以找到,不过要注意头文件里的代码有两处拼写错误,其中一个是缺少字母,另一个是缺少连接符。

    这是当接收到串口信息时立即将收到的信息发送返回,我在此添加了led灯闪亮,以便观察。另外我还添加了一个自动循环发送从ASCII码33到120的代码,以便测试发送状况。下面是main函数代码:
void main(void)
{
    // initialize the device
    SYSTEM_Initialize();

    // When using interrupts, you need to set the Global and Peripheral Interrupt Enable bits
    // Use the following macros to:

    // Enable the Global Interrupts
    //INTERRUPT_GlobalInterruptEnable();

    // Enable the Peripheral Interrupts
    //INTERRUPT_PeripheralInterruptEnable();

    // Disable the Global Interrupts
    //INTERRUPT_GlobalInterruptDisable();

    // Disable the Peripheral Interrupts
    //INTERRUPT_PeripheralInterruptDisable();
    TMR0_StartTimer();
   
    IO_RA2_SetLow();
    for(mode=0;mode<6;mode++){
        delay_ms(500);
        IO_RA2_Toggle();
    }
    mode = 33;
    IO_RA2_SetHigh();
    while (1)
    {
        // Add your application code
        ms++;
        if(ms>500){
            ms = 0;
            mode++;
            if(mode>120)
                mode = 33;
            EUSART1_Write(mode);
        }
        if(0==IO_RC2_GetValue()){
            IO_RA2_SetLow();
            delay_ms(200);
            IO_RA2_SetHigh();
        }
        // Logic to echo received data
        if(EUSART1_is_rx_ready())
        {
            IO_RA2_SetLow();
            rxData = EUSART1_Read();
            if(EUSART1_is_tx_ready())
            {
                EUSART1_Write(rxData);
            }
//            delay_ms(500);
            IO_RA2_SetHigh();
        }
    }
}

    下面是测试过程:


    通过use to TTL转接板(CH340)将电脑与开发板连接好:


    这是电脑上串口调试助手显示的信息:







使用特权

评论回复
沙发
CoolSilicon| | 2019-6-10 08:27 | 只看该作者
手动点赞!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

151

主题

1059

帖子

11

粉丝