
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
优先级分组:分组的话,一个芯片只能用一次,注意分组和优先级设置不同,分组是设置整个芯片的,优先级是设置某个外设某个通道的,优先级越小资历越高。NVIC相当于一个排队系统,把某个模块某个通道当作一个病人,排队,不过这个排队并不公平,不是先来后到,是按照优先级,看资历的。第一个通道:因为我们选择的是14通道EXTI进来的,触发的NVIC中断,每个通道对应一个中断相应函数。NVIC住皇宫里的,也不用打开

/@注意:频率我设置的是8MHZ,然后CNT更新的值并不是8/PSC/ARR,那是溢出的值,CNT更新的值是8/PSC。//还有一个注意的点是在写trig代码的时候,延时的时间是us不是ms,注意是微秒延时,不是毫秒。//我们将psc的值设置成7,arr的值越大越好防止溢出,所以我们的cnt更新频率是1us。//然后引脚的话,trig引脚设置的是推挽输出,echo引脚设置的是下拉输入。代码:这个函

(使用此中断函数的时候,仅需在.h文件中声明一下,不用在main函数里提前声明之类的,触发中断的时候会自动跳转到此中断函数,标准库里的中断函数需要对标志位清零,HAL库很方便不用)中断与gpioread不同,同样一段脉冲信号,gpioread捕捉的是此时的高低电平信号,中断捕捉的是高低电平变化的信号,下图红色的是中断捕捉的,蓝色的gpioread捕捉的。假如来了一个上升沿,此时会进入中断函数,然后

羊哥的delay函数可以保证吧时间切片到几us,适用于逻辑多任务模型,由于羊哥的delay函数是自己编写的且为标准库,这里用HAL库不太方便,于是我自己写了一个方便大家复制(其实主要是AI的功劳)但是delay函数会大大阻塞我们的运行时间,由于要适配逻辑多任务模型切片时间短的需求,这里就不能使用delay函数了。// 处理在读取ms和us之间,HAL_GetTick()刚好溢出(+1)的情况。//








