7431| 5
|
NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));怎样理解,为什么这样写?? |
5金钱
最佳答案1)NVIC->ISER[((uint32_t)(IRQn) >> 5)] ,左移5,就是除2的5次方的意思,,,这是因为中断0-31,是ISER[0],中断32-63是ISER[1]配置,依次类推。。这个好理解
2)右边 (1 << ((uint32_t)(IRQn) & 0x1F)); IRQn取低5位,,比如你中断是 31,那么低5位就直接是31,所以左移31位,就是设置他在ISER[0]中的位31了,,
比如你是中断 63,低五位, ...
| ||
| ||
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
|
||
| ||
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
|
||
| ||
| ||
| ||
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
|
||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-6-22 23:39
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网