haishi28 发表于 2024-3-24 18:41:35

第十五集 外部中断

中断,已经融入了我的工作和生活。相比于“查询”的方式,“中断”才应该是最优解。
外部中断,但中断名字用的是INTx,其实是GPIO的中断,为啥其他中断都是用外设名字,而GPIO却直接用“外部中断”,有哪个大佬知道,可以普及一下。


疑问1,如果只想捕捉上升沿,通过软件可以实现吗?配置成IT0=0,然后中断处理函数中判断是上升沿触发还是下降沿触发,只在上升沿触发时执行代码?


疑问2,手册里提到I/O中断,不是外部中断,怎么理解呢?




haishi28 发表于 2024-3-26 17:40:44

本帖最后由 haishi28 于 2024-5-12 09:56 编辑

第十六集 IO中断
上一集我的疑问,这一集马上有了回应。
但我听了三遍,还是没找到IO中断和外部中断之间的区别与联系。
从手册里看,IO中断和外部中断是完全不同的中断。下图红框里是外部中断,绿框里是IO中断。


有意思的是,32G的手册里还特意把IO中断拿出来写了一章。


视频中还提到了:不可屏蔽中断,是不是可以理解成该中断不可被打断,如果设置成不可屏蔽中断?那为什么不直接叫“不可打断中断”呢?



下图里的红色字体提示,与楼上我的截图不一致。



留一个作业给自己,用同一个管脚,分别用外部中断和IO中断两种方式去实现按键检测。



Keil 中断拓展插件
https://www.stcaimcu.com/forum.p ... Dg5MzM2MHwxfDQ4MzQ=

haishi28 发表于 2024-3-26 21:22:11


周一提交申请,今天就到手。
给力!{:5_332:}

haishi28 发表于 2024-3-26 22:18:28

haishi28 发表于 2024-3-17 11:23
第五集 printf,数的进制
作为老鸟,没啥新鲜内容,快速看过。
只是有一个疑问,printf函数不需要去配置什 ...



这个回答了我的疑问,建议提及一下printf的来源。

haishi28 发表于 2024-3-28 18:45:10

第十七集 ADC

两种结果对齐方式提一下,


这个RESFMT=0时,适合取高8位,ADC_RES直接得到结果。



这个RESFMT=1时,适合取所有位,ADC_RES<<8 + ADC_RESL。

另外想提一下ADC按键,没法使用在有两个及以上的按键同时按下的情况,很受限制。代码说明里也证明了我的想法。


haishi28 发表于 2024-4-16 21:30:40

本帖最后由 haishi28 于 2024-5-12 09:59 编辑

第十八集 ADC电源电压采集和ADC按键

通过内部准确的1.19V的mV值,反推出Vref,进而完成Vin的检测。

Vin / ADCin=Vref / 4096=V1.19 / ADCch15,

其中V1.19=CHIPID7<<8+CHIPID8(mV)

手册里给出的精度为正负1%,感觉可以满足大部分应用要求。

haishi28 发表于 2024-4-23 22:30:48

第十九集 NTC

延续上一集的ADC数据采集,结合查表法,实现AD值转换温度,比较容易理解。当年做PT1000,利用STM8,好像是10位AD,达不到精度要求,就通过软件增加白噪音,取均值来提高分辨率。

haishi28 发表于 2024-4-23 23:03:30

本帖最后由 haishi28 于 2024-5-12 18:17 编辑

第二十集 串口通信

这集讲最通用的通信方式UART,现在很多模块化的网关产品,多数都支持串口转其他,比如WiFi,蓝牙,Zigbee。
最后总结的内容比较有用,对我来说,Timer2可以同时为多个串口提供时钟,只要波特率一样。


也许是看的不够仔细,没有看出对于这个“共享Timer2”是如何配置的。
基于之前程序的编写,应该是将几个串口都配置成利用Timer2产生时钟,然后根据波特率配置Timer2的重载值,这也是为什么要求所有共享时钟的串口需要波特率一致。
另外想提的一点是,接收超时。


首先对于接收超时,可以方便完成一帧数据的接收,不用再用一个Timer去计时,不知道能不能符合Modbus通信的超时要求,有待验证。
其次,上图中写的STC32G12K128无此功能,是指接收超时功能没有?还是不能配置接收超时的开关呢?

superchao 发表于 2024-4-23 23:13:07

haishi28 发表于 2024-4-23 23:03
第二十集 串口通信

这集讲最通用的通信方式UART,现在很多模块化的网关产品,多数都支持串口转其他,比如W ...

打卡15集才给送一个实验板?看视频没板子怎么学习{:5_296:}

haishi28 发表于 2024-4-24 11:02:14

superchao 发表于 2024-4-23 23:13
打卡15集才给送一个实验板?看视频没板子怎么学习

好问题!
当然有了板子,一边看,一边实验,会比较好。
但免费送,总要有些门槛吧,可以理解。而且,先纸上谈兵,敲敲代码,也是动手实验的前提。
没板子时,重点放在理解原理,读数据手册,敲代码,编译通过,simulator调试,也是有很多工作可以做的。
拿到板子,可能一天就把之前的所有代码在板子上运行一下,调试一下问题即可。
页: 1 2 [3] 4
查看完整版本: 嵌入式老鸟回炉再造打卡帖(STC32位8051单片机学习)