打印

【东软载波ESF0654 PDS开发板活动】+串口通讯

[复制链接]
1276|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dami|  楼主 | 2019-12-16 21:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dami 于 2019-12-16 21:36 编辑

【东软载波ESF0654 PDS开发板活动】+串口通讯
1,考虑到板子上串口2和ES-LINKII的串口转USB有现成的连接:只要跳线就OK。
2,那就用这个接口。
3,接口IO为PD2 TX2 PC 12 RX2
4,采用例子\ES-PDS-ES32F0654\ES32_SDK_V1.04\Projects\ES32F065x\Examples_MD\UART
5,修改如下:
main.h:
#define UART2_TX_PORT        GPIOC
#define UART2_TX_PIN        MD_GPIO_PIN_12
#define UART2_RX_PORT        GPIOD
#define UART2_RX_PIN        MD_GPIO_PIN_2

main.c:
md_uart_init_t init;
uint8_t tx_buf[64];
uint8_t rx_buf[64];

void uart_pin_init(void)
{
        md_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_5;
        md_gpio_init(UART2_TX_PORT, UART2_TX_PIN, &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_5;
        md_gpio_init(UART2_RX_PORT, UART2_RX_PIN, &x);

        return;
}

/**
  * @brief  Test main function
  * @retval Status.
  */
int main()
{
        /* Initialize 1ms tick */
        md_init_1ms_tick();

        /* clear md_uart_init_t structure */
        memset(&init, 0x0, sizeof(md_uart_init_t));
        /* Initialize pin */
        uart_pin_init();
        /* Initialize tx_buf */
        memset(tx_buf, 0x55, 32);

        /* Initialize UART */
        init.baud        = 115200;
        init.word_length = MD_UART_WORD_LENGTH_8B;
        init.stop_bits   = MD_UART_STOP_BITS_1;
        init.parity      = MD_UART_PARITY_NONE;
        init.fctl        = MD_UART_FLOW_CTL_DISABLE;
        md_uart_init(UART2, &init);

        /* Send a message */
        md_uart_send_data8(UART2, tx_buf[0]);
        /* Receive a message */
        rx_buf[0] = (uint8_t)md_uart_recv_data8(UART2);

        while (1) {
                uint8_t index=0;
                if(index >=64)
                        index  =0;
                /* Send a message */
                /* Receive a message */
                rx_buf[index] = (uint8_t)md_uart_recv_data8(UART2);
                tx_buf[index]= rx_buf[index];
                md_uart_send_data8(UART2, tx_buf[index]);
                index++;
                md_delay_1ms(1000);
               
        }
}

6,串口调试助手:串口3 波特率115200 N81
7,编译运行,查看结果:

使用特权

评论回复

相关帖子

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

本版积分规则

61

主题

1042

帖子

5

粉丝