打印
[活动]

【APM32F107VCT6 MINI开发板测评】串行通讯功能测试

[复制链接]
821|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2023-2-14 14:04 编辑

APM32F107开发板提供了较为丰富的例程,通过下载SDK压缩包即可达到,解压后其例程文件夹如图1所示。
1 例程文件夹

在没有其它显示器件的情况下,串口就是必不可少的工具了,于是先对串口通信功能进行一下测试。
在开发板上,配有RS232的串行接口电路,见图2和图3所示。
由此可知,共用2个串口可用,即UART1UART2,其中:
PA9 ---U1_TX
PA10---U1_RX
PA2 ---U2_TX
PA3---U2RX

在使用时,通过J3上的短接子就可进行串口的切换。
2 串行接口线路

3 串行接口电路


为验证串口通信功能,这里选取的是例程USART_Printf。由于电脑上没提供RS232接口,故采用USBTTL模块来测试,其线路连接见图4所示。
4 测试连接


在下载程序后,其运行效果如图5所示。
5 运行效果


比较讨厌的是在输出的结果中总是多出一个“\0,通过对程序的分析,分析是for循环的条件有问题。此外,许数串口设备的波特率是9600bps,故一同也进行了修改,修改后的程序如下:
volatile uint32_t tick = 0;
uint8_t txBuf[] = "Hello USART1 \n\r";

int main(void)
{
    uint8_t i;
    GPIO_Config_T GPIO_ConfigStruct;
    USART_Config_T USART_ConfigStruct;
    APM_MINI_LEDInit(LED2);
    RCM_EnableAPB2PeriphClock((RCM_APB2_PERIPH_T)(RCM_APB2_PERIPH_GPIOA | RCM_APB2_PERIPH_USART1));
    GPIO_ConfigStruct.mode = GPIO_MODE_AF_PP;
    GPIO_ConfigStruct.pin = GPIO_PIN_9;
    GPIO_ConfigStruct.speed = GPIO_SPEED_50MHz;
    GPIO_Config(GPIOA, &GPIO_ConfigStruct);
    //USART_ConfigStruct.baudRate = 115200;
    USART_ConfigStruct.baudRate = 9600;
    USART_ConfigStruct.hardwareFlow = USART_HARDWARE_FLOW_NONE;
    USART_ConfigStruct.mode = USART_MODE_TX;
    USART_ConfigStruct.parity = USART_PARITY_NONE;
    USART_ConfigStruct.stopBits = USART_STOP_BIT_1;
    USART_ConfigStruct.wordLength = USART_WORD_LEN_8B;
    USART_Config(USART1, &USART_ConfigStruct);
    USART_Enable(USART1);
    SysTick_Config(SystemCoreClock / 1000);
    while(1)
    {
        Delay();
        //for(i = 0; i < sizeof(txBuf); i++)
        for(i = 0; i < (sizeof(txBuf)-1); i++)
        {
            while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
            USART_TxData(USART1, txBuf[i]);
        }
        APM_MINI_LEDToggle(LED2);
    }
}

这样再运行程序,其结果就正常了,见图6所示。
6 修改后的效果


如果以RS485模块来与板上的串口连接,则可实现RS485设备间的串行通讯,当然在通讯时要有相应的协议来辅助管理通讯过程。


使用特权

评论回复
沙发
tifmill| | 2023-6-10 15:44 | 只看该作者
apm32可以直接用stm32的库吗

使用特权

评论回复
板凳
jimmhu| | 2023-6-10 16:47 | 只看该作者
apm32是哪家公司的               

使用特权

评论回复
地板
jinglixixi|  楼主 | 2023-6-11 08:48 | 只看该作者
jimmhu 发表于 2023-6-10 16:47
apm32是哪家公司的

珠海极海半导体有限公司

使用特权

评论回复
5
jinglixixi|  楼主 | 2023-6-11 08:50 | 只看该作者
tifmill 发表于 2023-6-10 15:44
apm32可以直接用stm32的库吗

没试过,应该有差异吧!

使用特权

评论回复
6
forgot| | 2023-6-28 17:05 | 只看该作者
感谢楼主的分享,很全面,学习一下,期待更多好的内容

使用特权

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

本版积分规则

455

主题

2755

帖子

38

粉丝