梁工
发表于 2023-7-17 11:51:32
一笔长空 发表于 2023-7-15 16:25
感谢梁老师,现在知道原理后不知道具体代码怎么写,比如我现在需要将ID号加密后写入到程序空间1000H开始 ...
放在跟程序不重叠的地址,就不需要在程序中预留位置。用CODE指针读出来即可。
mrlgboys
发表于 2023-9-7 13:28:00
梁老师您好!看到您的回复大家的问题很感动,也非常感谢我们国产芯片有您这样专业温暖的工程师们在辛勤付出,感恩!
现在我有个项目之前是用silabs公司c8051f121芯片做的,现在要国产化,看到咱们stc8a8k64d4也有PCA功能就选了这个芯片,但是程序移植过来以后发现,PCA的功能可以正常实现,在PCA中断(最高优先级)中用查询方式AD采样也OK,但是,我程序中还有T2、T3中断,包括AD中断在一起运行时好像就进不去了,我在想是不是咱们的STC芯片硬件自动把中断标志位清零后导致较低优先级的中断无法进入?关键是在KEIL调试程序时看不到一些相关的寄存器,只有最基本的一些寄存器,请问一下梁老师这个怎么解决?谢谢!
神农鼎
发表于 2023-9-7 16:09:41
神农鼎
发表于 2023-9-7 16:11:26
【新提醒】用 STC-USB Link1D 仿真 STC8 系列 MCU - 编译器/仿真器/ISP下载/做自己的ISP - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
梁工
发表于 2023-9-7 17:57:50
mrlgboys 发表于 2023-9-7 13:28
梁老师您好!看到您的回复大家的问题很感动,也非常感谢我们国产芯片有您这样专业温暖的工程师们在辛勤付出 ...
MCU各个中断都是相互独立的,互不干扰。
某个中断函数硬件自动把本中断标志位清零,不会影响其余的任何中断标志。
硬件仿真可以看到相关寄存器的值,可以仿真看看。
项目程序尽量不要频繁使用查询方式使用外设,建议在PCA中断里启动ADC,ADC中断里读取ADC结果即可。
mrlgboys
发表于 2023-9-18 09:18:47
梁工 发表于 2023-9-7 17:57
MCU各个中断都是相互独立的,互不干扰。
某个中断函数硬件自动把本中断标志位清零,不会影响其余的任何中 ...
好的,谢谢梁工。另外还有一个问题想请教:
最近在用STC8A8K64D的SPI外接DAC,程序在运行到 DAC_VAL = 0xA0; SPDAT = DAC_VAL;时,SPDAT 没有变成0xA0,而是直接变成0xFF,请问是什么原因?
其中:SPCTL = 0xD4;SPSTAT = 0x00
我用示波器看SPCTL 的 CPOL位在设为0时,SCLK从高电平变成低电后就一直没有变化,写SPDAT时应该出的时钟信号也没有出,不知道为什么,可以帮忙解答一下吗?谢谢!
{:smile:}
梁工
发表于 2023-9-18 12:02:01
mrlgboys 发表于 2023-9-18 09:18
好的,谢谢梁工。另外还有一个问题想请教:
最近在用STC8A8K64D的SPI外接DAC,程序在运行到 DAC_VAL = 0 ...
你怎么知道SPI发送寄存器SPDAT没有变成0xA0?注意,读SPDAT读到的是接收的数据,不是发送的数据。
用示波器看看其实际发出的数据。
神农鼎
发表于 2023-9-18 12:56:42
先搞定仿真,再研究其他,否则浪费时间
工欲善其事必先利其器 !!!
mrlgboys
发表于 2023-9-18 15:19:20
梁工 发表于 2023-9-18 12:02
你怎么知道SPI发送寄存器SPDAT没有变成0xA0?注意,读SPDAT读到的是接收的数据,不是发送的数据。
用示波 ...
梁工您好!感谢您的回复,我用示波器看了一下,程序运行时MOSI口一直是高电平,请问是不是SPI口坏掉了?
梁工
发表于 2023-9-18 16:05:00
mrlgboys 发表于 2023-9-18 15:19
梁工您好!感谢您的回复,我用示波器看了一下,程序运行时MOSI口一直是高电平,请问是不是SPI口坏掉了? ...
一般来说,没受到过压冲击的话,MCU没那么容易坏的。可以用STC官方的例程测试。