欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ES-PDS32 ES32F654评测————第七步:测试串口0

程序员文章站 2022-07-06 22:01:38
...

由于ES32F065板卡没有板载串口转USB芯片,需要自己外接一个USB串口模块进行测试。

ES-PDS32 ES32F654评测————第七步:测试串口0

串口初始化函数:

//串口GPIO初始化
static void uart_232_pin_init(void)
{
    gpio_init_t x;
    /* Initialize tx pin */
    x.mode = GPIO_MODE_OUTPUT;
    x.odos = GPIO_PUSH_PULL;
    x.pupd = GPIO_PUSH_UP;
    x.odrv = GPIO_OUT_DRIVE_NORMAL;
    x.flt  = GPIO_FILTER_DISABLE;
    x.type = GPIO_TYPE_TTL;
    x.func = GPIO_FUNC_3;
    ald_gpio_init(GPIOB, GPIO_PIN_10, &x);

    /* Initialize rx pin */
    x.mode = GPIO_MODE_INPUT;
    x.odos = GPIO_PUSH_PULL;
    x.pupd = GPIO_PUSH_UP;
    x.odrv = GPIO_OUT_DRIVE_NORMAL;
    x.flt  = GPIO_FILTER_DISABLE;
    x.type = GPIO_TYPE_TTL;
    x.func = GPIO_FUNC_3;
    ald_gpio_init(GPIOB, GPIO_PIN_11, &x);
}
//串口初始化
void uart_232_module_init(uint32_t baud)
{
    uart_232_pin_init();

    memset(&h_uart, 0x0, sizeof(h_uart));

    /* Initialize uart */
    h_uart.perh             = UART0;
    h_uart.init.baud        = baud;
    h_uart.init.word_length = UART_WORD_LENGTH_8B;
    h_uart.init.stop_bits   = UART_STOP_BITS_1;
    h_uart.init.parity      = UART_PARITY_NONE;
    h_uart.init.mode        = UART_MODE_UART;
    h_uart.init.fctl        = UART_HW_FLOW_CTL_DISABLE;
    ald_uart_init(&h_uart);
}

串口接收数据函数:

uart_232_status_t bsp_uart_232_recv(uint8_t *buf, uint16_t size)
{
    if (buf == NULL)
        return UART_232_ERROR;
    if (ald_uart_recv(&h_uart, buf, size, 500) != OK)
        return UART_232_ERROR;
    return UART_232_OK;
}

串口写数据函数:

uart_232_status_t bsp_uart_232_send(uint8_t *buf, uint16_t size)
{
    if (buf == NULL)
        return UART_232_ERROR;
    if (ald_uart_send(&h_uart, buf, size, 500) != OK)
        return UART_232_ERROR;
    return UART_232_OK;
}

添加修改main.c和mian.h,实现对串口的读写操作。

#include "main.h"
unsigned char Sendbuf[16] = "es32f0654 is ok!";
int main()
{
	led_module_init();   //LED初始化
	bsp_key_init();      //按键初始化
	uart_232_module_init(115200);
  bsp_uart_232_send(Sendbuf,16);	
	while (1) 
	{   	
	}
}

#ifndef   __MAIN_H__
#define   __MAIN_H__
#include "bsp_led.h"
#include "bsp_key.h"
#include "bsp_uart_232.h"
#endif

硬件连接后,打印数据如下:

ES-PDS32 ES32F654评测————第七步:测试串口0

ES-PDS32 ES32F654评测————第七步:测试串口0

 

相关标签: 评测