strang 发表于 2022-5-30 19:23

【APM32E103xE测评】USART2测试

本帖最后由 strang 于 2022-5-30 19:24 编辑

参加活动有幸得到一块Geehy APM32E103ZE MIIN 开发板,板子收到有一段时间了,由于好多事给耽误没来得及写测评

APM32E103xE工业级增强型系列MCU,产品基于32 位Arm® Cortex®-M3内核内核架构,在APM32F103xE系列上进行升级,运算频率可达120MHz,供电电压在2.0V~3.6V,其工作温度范围可覆盖-40℃~+105℃,帮助产品在工业级温度场景下稳定运行。芯片ESD等级达5KV,满足工业级高可靠性的产品性能标准需求。

详细介绍和资料下载请到官网:https://www.geehy.com/apm32?id=45
   
看坛友写了很多测评,我就测试一下USART2。
看了下数据手册,PA2和PA3默认复用功能作为USART2的发送端和接收引脚。

接线图:

初始化USART2:
USART2挂载APB1上

用官方提供的BSP包测试
main.c文件:
uint8_t txBuf = "HELLO Geehy APM32E103ZE MIIN \r\n";
/*****************USART2初始化 **********************/
void USART2_InitFunc(void)
{
GPIO_Config_T GPIO_ConfigStruct;
USART_Config_T USART_ConfigStruct;

RCM_EnableAPB2PeriphClock((RCM_APB2_PERIPH_T)RCM_APB2_PERIPH_GPIOA );
RCM_EnableAPB1PeriphClock((RCM_APB1_PERIPH_T)RCM_APB1_PERIPH_USART2);

GPIO_ConfigStruct.mode = GPIO_MODE_AF_PP;
GPIO_ConfigStruct.pin = GPIO_PIN_2;
GPIO_ConfigStruct.speed = GPIO_SPEED_50MHz;
GPIO_Config(GPIOA, &GPIO_ConfigStruct);

USART_ConfigStruct.baudRate = 115200;
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(USART2, &USART_ConfigStruct);

USART_Enable(USART2);
}
/*****************发送一个字节 **********************/
void Usart_SendByte( USART_T * pUSARTx, uint8_t ch)
{
    /* 发送一个字节数据到USART */
    USART_TxData(pUSARTx,ch);
      
    /* 等待发送数据寄存器为空 */
    while (USART_ReadStatusFlag(pUSARTx, USART_FLAG_TXBE) == RESET);   
}
/*****************发送字符串 **********************/
void Usart_SendString( USART_T * pUSARTx, char *str)
{
    unsigned int k=0;
do
{
      Usart_SendByte( pUSARTx, *(str + k) );
      k++;
} while(*(str + k)!='\0');

/* 等待发送完成 */
while(USART_ReadStatusFlag(pUSARTx,USART_FLAG_TXC)==RESET)
{}
}
/*****************主函数 **********************/
int main(void)
{   
      uint8_t i;
    APM_MINI_LEDInit(LED2);
      APM_MINI_LEDInit(LED3);
      USART2_InitFunc();
      TMR1_InitFunc();
    while(1)
    {
            if(tick>=500)
            {
                tick=0;
      APM_MINI_LEDToggle(LED2);
      APM_MINI_LEDToggle(LED3);

                Usart_SendString(USART2,(char*)txBuf);
            }
    }
}
   





strang 发表于 2022-5-30 19:38

本帖最后由 strang 于 2022-5-30 19:47 编辑

篇幅受限,图片不上来。总是提示篇幅限制4----50000字节,这样做不知道有啥好处,一张图片估计都超出了,是不是我发帖姿势不对?

实验结果:串口发出来的数据

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

收←◆HELLO Geehy APM32E103ZE MIIN

10299823 发表于 2022-6-2 09:39

最大的波特率是多少呢?

robincotton 发表于 2022-6-2 11:21

这个不是stm32一样的吗

typeof 发表于 2022-6-2 14:02

是申请的吗?

macpherson 发表于 2022-6-2 15:00

Geehy APM32E103ZE MIIN 开发板?

strang 发表于 2022-6-5 07:40

macpherson 发表于 2022-6-2 15:00
Geehy APM32E103ZE MIIN 开发板?

Geehy APM32E103ZE MINI开发板,上面写错了,感谢指正!

strang 发表于 2022-6-5 07:41

robincotton 发表于 2022-6-2 11:21
这个不是stm32一样的吗

基本一样,大同小异。

strang 发表于 2022-6-5 07:42

typeof 发表于 2022-6-2 14:02
是申请的吗?

是申请的

robincotton 发表于 2022-6-20 18:57

串口有什么问题

sanxingnote7 发表于 2022-6-20 21:04

APM32E103xE性能怎么样

jackcat 发表于 2022-7-9 14:06

这个代码在哪下载的?

janewood 发表于 2022-7-9 15:00

这个波特率可以多大呢   

adolphcocker 发表于 2022-7-9 16:31

支持文件协议吗?   

ccook11 发表于 2022-7-9 18:04

APM32E103xE有几个串口   

MessageRing 发表于 2022-10-4 20:58

和stm32差不多
页: [1]
查看完整版本: 【APM32E103xE测评】USART2测试