打印

HC32L110的GPIO速度能到多少

[复制链接]
1094|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luodhui|  楼主 | 2022-4-11 15:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
版主你好:
       请问HC32L110的GPIO速度能到多少?我用24M时钟,翻转周期将近7微秒(高电平3.4微秒,低电平3.5微秒),正常吗?有办法提高吗?
一下是我的测试程序。谢谢!

int32_t main(void)
{
    Clk_SwitchTo(ClkRCH);                                                        //使用内部高速时钟
    Clk_SetRCHFreq(ClkFreq24Mhz);                        //24M               
    Clk_SetPeripheralGate(ClkPeripheralGpio, TRUE);                //打开GPIO外设时钟
//
                Gpio_SetFunc_HCLKOUT_P24();        //P24配置为HCLK输出               
    Gpio_InitIOExt(0, 3, GpioDirOut, TRUE, FALSE, FALSE, FALSE);//初始化外部GPIO P03为输出、上拉、推挽输出,
//   
    while (1)
    {
        Gpio_SetIO(0, 3, TRUE);         //设置GPIO值(翻转)
        Gpio_SetIO(0, 3, FALSE);
    }
}

使用特权

评论回复

相关帖子

沙发
天意无罪| | 2022-4-11 19:02 | 只看该作者

HC32L110的GPIO速度能到多少

IO的最快翻转速率和时钟主频,以及MCU内部设计有关系,最好看下数据手册。

使用特权

评论回复
板凳
ughbss| | 2022-4-12 10:37 | 只看该作者
应该直接操作寄存器测试

使用特权

评论回复
地板
567| | 2022-4-13 00:55 | 只看该作者
M0+内核,支持FASTIO,GPIO是单周期翻转的。
也就是说,一个周期置高,一个周期置低,24MHz时钟下,最快可输出12MHz方波。
你用库函数测试,里面有很多复杂操作,当然速度不快。
可以直接写相关寄存器,例如这样:
while(1)
{
  M0P_GPIO->PDOUT = 0x00;
  M0P_GPIO->PDOUT = 0xff;
  M0P_GPIO->PDOUT = 0x00;
  M0P_GPIO->PDOUT = 0xff;
  M0P_GPIO->PDOUT = 0x00;
  M0P_GPIO->PDOUT = 0xff;
  M0P_GPIO->PDOUT = 0x00;
  M0P_GPIO->PDOUT = 0xff;                           
}

使用特权

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

本版积分规则

6

主题

11

帖子

1

粉丝