无剑100SOCwujian100挂UART外设之②跑通自带UART

一、为什么

首先跑通自带的UART,有助于我们熟悉UART的使用。

二、是什么

下载官方的SDK示例,或者下载慕课的示例也可以。如下图所示,在while循环中,添加了printf("test/n“)。

int main(void)
{
    printf("Hello World!\n");
    key_gpio_intr(PA8);
    LED_Init();
    OLED_SHOW();
    sd_test();
	char a ;
	
	
    while(1)
    {
		LED_ON();
        mdelay(500);
        LED_OFF();
        mdelay(500);
		//a = getchar();
		printf("test\n");
    }
    return 0;
}

三、怎么做

下载安装阿里开发工具CDK,如下图,打开工程

连接无剑100和PC        

 本人使用的是gensys2开发板,任意开发板都可。既然来到这一步,XDC约束想必是已经通过的。将平头哥的调试器USB端连接到PC,另一端通过杜邦线,连接至XDC文件中约束的TMS和TCLK以及GND三个端口。正确连接,调试器上的灯会变绿色。

 

检查代码

本人被这里困住了三、四周,才找到问题。首先核对在VIVADO中,综合的时钟频率为多少,假设为20MHz。之后在CDK中,打开soc.h文件。核对IHS_VALUE是否和综合设置的频率相同。这里是为20000000,没有问题。

#ifndef IHS_VALUE
#define  IHS_VALUE    (20000000)
//#define  IHS_VALUE    (18000000)
#endif

编译工程

debug,即将SDK下载到无剑100中。下载程序过程中,调试器灯绿灯会闪烁。

添加串口窗口

设置串口参数。端口可以使用WIN10的设备管理器查看。波特率、停止位、奇偶校验位要和程序中一致。具体打开board_init.c文件,查看csi_usart_config函数的参数。

void board_init(void)
{
    int32_t ret = 0;//32位有符号数
    /* init the console*/
    clock_timer_init();
    clock_timer_start();

    console_handle = csi_usart_initialize(CONSOLE_IDX, NULL);//csi_usart_initialize --> return drv_usi_usart_initialize(CONSOLE_IDX, NULL);
                                                             //CONSOLE_IDX = 0  in the file "pin.h"
    /* config the UART */
    ret = csi_usart_config(console_handle, 115200, USART_MODE_ASYNCHRONOUS, USART_PARITY_NONE, USART_STOP_BITS_1, USART_DATA_BITS_8);
                    //return drv_usi_usart_config(console_handle, 115200, USART_MODE_ASYNCHRONOUS, USART_PARITY_NONE, USART_STOP_BITS_1, USART_DATA_BITS_8);
    if (ret < 0) {
        return;
    }
}

 正常的话,会在串口中显示main.c中的信息。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MNVCAT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值