感芯MC3172开发板入门(三)GPIO速度测试

        学习的过程不怕慢,就怕停,时间一长,自己也就疲了,乘着对开发环境还比较熟悉,抓紧学习。

        继续学习GPIO,系统主频192M,4分频后,最快是48M,GPIO连续反转,最快频率应该是24M,编写测试程序,8个方波后,延迟一段时间,继续工作,测试波形如下,41ns左右一个周期,频率24M,GPIO已经很快了。

在加上多线程并行工作,可以做很多事情了。

        手头有一个20M,12-bit的ADC,在不考虑时钟抖动的情况下,将GPIO的反转作为ADC的时钟信号,反转 过程中读取ADC数据,程序如下。

    while(1){

        for(i=0;i<10;i++)

        {

            GPIO_SET_OUTPUT_PIN_TO_1(GPIOD_BASE_ADDR, GPIO_PIN15);//LED=1

            GPIO_SET_OUTPUT_PIN_TO_0(GPIOD_BASE_ADDR, GPIO_PIN15);//LED=0

            ad_data1[0]=GPIO_GET_INPUT_VALUE_SAFE(GPIOA_BASE_ADDR);

……

            GPIO_SET_OUTPUT_PIN_TO_1(GPIOD_BASE_ADDR, GPIO_PIN15);//LED=1

            GPIO_SET_OUTPUT_PIN_TO_0(GPIOD_BASE_ADDR, GPIO_PIN15);//LED=0

            ad_data1[6]=GPIO_GET_INPUT_VALUE_SAFE(GPIOA_BASE_ADDR);

            GPIO_SET_OUTPUT_PIN_TO_1(GPIOD_BASE_ADDR, GPIO_PIN15);//LED=1

            GPIO_SET_OUTPUT_PIN_TO_0(GPIOD_BASE_ADDR, GPIO_PIN15);//LED=0

            ad_data1[7]=GPIO_GET_INPUT_VALUE_SAFE(GPIOA_BASE_ADDR);

            NOP();

            ad_sum_cache =ad_data1[0]+ad_data1[1]+ad_data1[2]+ad_data1[3]+ad_data1[4]+ad_data1[5]+ad_data1[6]+ad_data1[7];

            delay_us(100);

        }

 }

测试波形如下。

        从上图可以看出,频率达到了18.5M(54ns),当然,占空比不等,如果要将占空比调整为1:1,频率将降低到12.5M了,一般的控制场合应该是足够了。

        从程序中可以看出,最后一个波形铲产生后,增加了NOP()语句,因为采集后的数据加和后传递给了全局变量,全局变量需要一个载入地址的操作,中间必须增加NOP()语句,否则会导致最后一个波形被拓展。如下图所示。

    从上图可以看出,最后一个波形的周期变为100ns。

        增加NOP()后,波形正常。此处,标记一下,花费了1h,最后请教了厂家的技术支持,说实话,厂家的技术支持很给力,做到了有问必答。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全志T3开发板是一块能够帮助嵌入式初学者进行学习和测试开发板。该开发板采用了全志公司推出的T3芯片作为主控芯片,拥有强大的处理性能和丰富的硬件接口,非常适合初学者进行嵌入式开发。 在使用全志T3开发板进行学习和测试时,首先需要熟悉该开发板的硬件接口和功能。该开发板提供了丰富的硬件接口,包括GPIO口、SPI口、I2C口、UART口等,这些接口可以用于连接外部硬件模块,实现各种功能。同时,该开发板还具备WiFi和蓝牙功能,方便进行网络通信。 接下来,可以选择一个简单的嵌入式项目进行学习和测试。例如,可以通过GPIO口控制LED灯的亮灭,通过SPI口读取传感器数据等。在这个过程中,需要学习如何使用开发板的各种硬件接口和相应的编程语言,例如C语言或Python。可以查阅开发板的相关文档和教程,以及互联网上的资源,来学习如何编写代码、调试和测试。 此外,全志T3开发板还支持Linux和Android系统,可以学习如何在这些系统上进行嵌入式开发。通过学习和测试,可以深入理解嵌入式系统的原理和开发方法,提升自己的嵌入式开发能力。 总之,全志T3开发板是一块非常适合嵌入式初学者进行学习和测试开发板。通过学习和测试,可以掌握嵌入式开发的基础知识和技能,并在实践中逐渐提升自己的嵌入式开发水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值