找回密码
 立即注册
楼主: haishi28

嵌入式老鸟回炉再造打卡帖(STC32位8051单片机学习)

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-3-24 18:41:35 | 显示全部楼层
第十五集 外部中断

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

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

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



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-3-26 17:40:44 | 显示全部楼层
本帖最后由 haishi28 于 2024-5-12 09:56 编辑

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

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

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


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


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


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

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-3-26 21:22:11 来自手机 | 显示全部楼层
IMG_20240326_162924.jpg
周一提交申请,今天就到手。
给力!{:5_332:}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-3-26 22:18:28 | 显示全部楼层
hais*** 发表于 2024-3-17 11:23
第五集 printf,数的进制
作为老鸟,没啥新鲜内容,快速看过。
只是有一个疑问,printf函数不需要去配置什 ...

截图202403262217203692.jpg

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

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-3-28 18:45:10 | 显示全部楼层
第十七集 ADC

两种结果对齐方式提一下,
截图202403281840584559.jpg

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


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

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

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 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%,感觉可以满足大部分应用要求。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-4-23 22:30:48 | 显示全部楼层
第十九集 NTC

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

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-4-23 23:03:30 | 显示全部楼层
本帖最后由 haishi28 于 2024-5-12 18:17 编辑

第二十集 串口通信

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

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

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2024-04-27 10:57:40

0

主题

6

回帖

30

积分

新手上路

积分
30
发表于 2024-4-23 23:13:07 来自手机 | 显示全部楼层
haishi28 发表于 2024-4-23 23:03
第二十集 串口通信

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

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

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:82
  • 最近打卡:2024-11-16 13:05:25

10

主题

103

回帖

460

积分

中级会员

积分
460
发表于 2024-4-24 11:02:14 | 显示全部楼层
super*** 发表于 2024-4-23 23:13
打卡15集才给送一个实验板?看视频没板子怎么学习

好问题!
当然有了板子,一边看,一边实验,会比较好。
但免费送,总要有些门槛吧,可以理解。而且,先纸上谈兵,敲敲代码,也是动手实验的前提。
没板子时,重点放在理解原理,读数据手册,敲代码,编译通过,simulator调试,也是有很多工作可以做的。
拿到板子,可能一天就把之前的所有代码在板子上运行一下,调试一下问题即可。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-9 03:15 , Processed in 0.158976 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表