打印
[N32G03x]

GPIO EVENTOUT测试

[复制链接]
1772|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sy12138|  楼主 | 2022-8-30 19:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
最近看用户手册的时候看到GPIO可以复用为EVENTOUT输出引脚,就很好奇EVENTOUT是做什么用的?而这个在网上的相关资料也很少,总结了一下:EVENTOUT可以通过__SEV指令,让内核输出一个高脉冲,延迟很小,脉宽是一个时钟宽度。比如说系统时钟是18Mz,那么这个脉冲宽度就是1/55ns,这个脉宽也基本满足不了我们日常的使用
那这个EVENTOUT又有什么作用呢?据野史记载,EVENTOUT多用于低功耗唤醒,以及同步
理论科普就到这里了,那么EVENTOUT需要怎么配置呢?快拿小本本记下来
RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA, ENABLE);
            
            GPIO_InitStruct(&GPIO_InitStructure);
        GPIO_InitStructure.Pin = GPIO_PIN_0;;
        GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF_PP;
                GPIO_InitStructure.GPIO_Alternate = GPIO_AF3_EVENTOUT;
        GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure);
               
                __sev();
配置复用的时候要查看用户手册,对有这个复用功能的IO口进行配置,通过手册可以看到有很多GPIO有这个功能,这里我们选择的是PB0

1661858709774.png (48.34 KB )

1661858709774.png

使用特权

评论回复
沙发
sy12138|  楼主 | 2022-8-30 19:37 | 只看该作者
我使用的是N32G031,系统时钟48MHz,所以输出脉冲宽度应该是1/48Mhz ≈ 20ns(悄咪咪说一句,这么窄的脉冲确定不会被滤波器滤掉)
通过逻辑分析仪抓取波形,这里逻辑分析仪的采样频率要大于系统时钟,不然抓到的波形不准确,这里我们选择50MHz,可以看到脉宽正好是20ns,Perfect

b5df21eff0c6b332a0cb4528057d8cf.png (32.17 KB )

b5df21eff0c6b332a0cb4528057d8cf.png

使用特权

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

本版积分规则

92

主题

404

帖子

15

粉丝