STM32 GPIO能输出多少频率的TTL电平
3个回答
展开全部
如果直接采用 ODR操作,不断输出0、1,那么
while(1)
{
GPIOB->ODR=1;//GPIOB->BSRR=1;
GPIOB->ODR=0; //GPIOB->BRR=1;
}
如果系统时钟为 72M(互联型) 的话,则在B口的 0 脚处会输出 12M的方波。因为告者悄 72/(3 * 2)=12M.
也就是说,通袜渣过GPIOB的0脚进行翻转的速度最大可以实现 18M。但是由于有 while(1)指令的影响,输出只能看到一嫌衡个 12M的波。
如果要在示波器上看到18M的输出,则可以将这两条置零置1语句不断重复(至少100次),这样,示波器才能看到一个较为稳定的18M波形。
目前只知道这么多,你可以试试。望采纳!
while(1)
{
GPIOB->ODR=1;//GPIOB->BSRR=1;
GPIOB->ODR=0; //GPIOB->BRR=1;
}
如果系统时钟为 72M(互联型) 的话,则在B口的 0 脚处会输出 12M的方波。因为告者悄 72/(3 * 2)=12M.
也就是说,通袜渣过GPIOB的0脚进行翻转的速度最大可以实现 18M。但是由于有 while(1)指令的影响,输出只能看到一嫌衡个 12M的波。
如果要在示波器上看到18M的输出,则可以将这两条置零置1语句不断重复(至少100次),这样,示波器才能看到一个较为稳定的18M波形。
目前只知道这么多,你可以试试。望采纳!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询