kaily 发表于 2025-7-14 18:12:00

神农鼎 发表于 2025-7-14 16:48
2025/7/14:




已按要求更新。

稍后一并上传


国学芯用 发表于 2025-7-19 10:13:20



增加2.36 章节   USB仿真详见2.19.3
       2.37 章节   USB转串口仿真


下载用户程序流程

BeHappy 发表于 2025-7-21 10:39:47

即便是20250716发布的STC32G的手册也没有说明,第789页关于寄存器ADCEXCFG的描述。
根据其他系列的mcu使用经历,应该是用于自动求均值的功能寄存器。
话说回来,作为用户,我不能去猜测这个寄存器有什么用!

kaily 发表于 2025-7-21 15:47:01

BeHappy 发表于 2025-7-21 10:39
即便是20250716发布的STC32G的手册也没有说明,第789页关于寄存器ADCEXCFG的描述。
根据其他系列的mcu使用 ...

已更新,稍后一并上传。{:4_196:}


国学芯用 发表于 2025-7-23 10:02:20



STC89C52RC系列数据手册前面页眉没有放网址,STC12C5A60S2和STC15系列数据手册页眉也放上网址。

kaily 发表于 2025-7-23 10:18:40

国学芯用 发表于 2025-7-23 10:02
STC89C52RC系列数据手册前面页眉没有放网址,STC12C5A60S2和STC15系列数据手册页眉也放上网址。
...
谢谢你提醒!{:4_196:}

已添加,稍后一并上传更新










国学芯用 发表于 2025-7-26 09:40:21



Debug中的调试窗口图全部秀出来,一起截图。

有 ADC 观察窗口,
有 4串口 观察窗口,
有 SPI 观察窗口,



神农鼎 发表于 2025-7-30 22:38:25

2025/7/30, 22:36



工规的 最高工作频率是 42MHz
车规的 最高工作频率是 33MHz

STC32G8K64-42I-LQFP48/32, QFN48/32,TSSOP20
STC32G8K64-33A-LQFP48/32, QFN48/32, TSSOP20

王昱顺 发表于 2025-7-31 22:53:33

所有有关高级PWM的时基单元->预分频器部分




文档内有关缓冲部分的讲解出现了同一个寄存器多个称呼(影子寄存器、预装载寄存器)
使得用户理解较为困难,可以改为以下内容(全部改为影子寄存器,并且说明为什么要这么操作),仅供参考:



预分频器的实现:
PWMA 的预分频器基于一个由 16 位寄存器(PWMA_PSCR)控制的 16 位计数器。预分频器可以将计数器的时钟频率按 1 到 65536 之间的任意值分频。
由于这个控制寄存器带有一个影子寄存器,因此它能够在运行时被改变。所以在写预分频寄存器时,实际上写入的是影子寄存器。
因为写入预分频寄存器需要两次单独的8位写操作,而预分频器的值只能由影子寄存器写入。为了保证写入影子寄存器时,正在写入的部分不会被更新到预分频寄存器。所以,必须保证高字节先写入。低字节再写入。
写入完成后,新的预分频器的值在下一次更新事件到来时被从影子寄存器中更新到预分频寄存器中。对 PWMA_PSCR 寄存器的读操作通过读影子寄存器完成。

zhp 发表于 2025-8-1 16:39:03

王昱顺 发表于 2025-7-31 22:53
所有有关高级PWM的时基单元->预分频器部分



STC8H和STC32G手册的高级PWM定时器章节中提到的“预装载寄存器”和“影子寄存器”是两回事,
不能混为一谈,也不能用其中一个的名字替换另外一个

“预装载寄存器”:在PWM定时器当前周期未完成前,如果软件对
ARRH/ARRL、PSCRH/PSCRL、CCRnH/CCRnL这些寄存器进行写入时,
如果直接将新值写入这些寄存器,必然会造成PWM定时器的当前周期不完整,从而导致PWM产生尖波,
为防止尖波的产生,软件对这些寄存器写入新值会暂时保存在
ARRH_preload/ARRL_preload、PSCRH_preload/PSCRL_preload、CCRnH_preload/CCRnL_preload这些“预装载寄存器”中,
等到下一次更新事件到来时,硬件会自动将
ARRH_preload/ARRL_preload、PSCRH_preload/PSCRL_preload、CCRnH_preload/CCRnL_preload
中的新值加载ARRH/ARRL、PSCRH/PSCRL、CCRnH/CCRnL中。

“影子寄存器”:由于STC8H和STC32G系列单片机,SFR/XFR都只能按字节(8位)进行读写。
为了能实现在1T内对ARRH/ARRL、PSCRH/PSCRL、CCRnH/CCRnL这些16位的寄存器完成读写,就产生了“影子寄存器”。
芯片内部的“影子寄存器”分为“读影子寄存器”和“写影子寄存器”,且都是8位的。
“影子寄存器”的目的是为了能够实现1T内对16位寄存器的读写。

比如:当软件需要对ARRH/ARRL进行写入时(准确的说是对ARRH_preload/ARRL_preload进行写入时),
软件写入ARRH的高8位数据会先保存在ARRH的“写影子寄存器”ARRH_buf中,
当软件对ARRL写入低8位数据时,硬件会将之前保存在“写影子寄存器”ARRH_buf中的高8位和本次的低8位数据
一次性写入ARRH_preload/ARRL_preload中,从而实现1T内写16位寄存器的目的。这是“写影子寄存器”的作用。

比如:当软件需要读取CCRnH/CCRnL的16位值时,
软件读取CCRnH的高8位数据时,硬件会自动将这一时刻的CCRnL的低8位数据保存在CCRnL的“读影子寄存器”CCRnL_buf中,
当软件需要从CRRnL读取低8位数据时,硬件会返回之前保存在“读影子寄存器”CCRnL_buf中的低8位数据。
从而实现1T内读取同一时刻的16位寄存器的目的。这是“读影子寄存器”的作用





页: 3 4 5 6 7 8 9 10 11 12 [13] 14
查看完整版本: 前进中的PDF,一起完善他,以后数据手册的笔误部分大家在这个帖子集中反馈