关于static定义问题
如图1所示,某开发板的教程里写static定义变量时,如果用idata或xdata,容易出错,这有什么依据?我认为他的说法不成立。
我的观点:在keil c51编译环境下,变量的寻址方式只和变量的存储空间(data、idata、xdata)有关系,与是否使用static声明无关,如图2所示。
请贵公司工程师解答,图1中的说法是否有依据?我的理解是否正确?
纠正一下说法,刚刚和代码作者沟通结果如下:
和static无关,作者估计: 是读写速度影响了,xdata 更适合用在数组 连续性读取的情况 比单个变量更稳定
这个视频是问题复现https://www.bilibili.com/video/BV1qL411k75j/?spm_id_from=333.999.0.0
补充说明:
经过与代码作者沟通,说明如下:与static无关,作者估计 是读写速度影响了,xdata 更适合用在数组 连续性读取的情况 比单个变量更稳定,下面的视频是问题复现。
https://www.bilibili.com/video/BV1qL411k75j/?spm_id_from=333.999.0.0
没有这种说法,那是程序作者的个人感觉,这个感觉是错误的。
在MCU工作的频率范围内,访问多有的内存都是100%正确的,也必须如此。 梁工 发表于 2023-7-4 11:18
没有这种说法,那是程序作者的个人感觉,这个感觉是错误的。
在MCU工作的频率范围内,访问多有的内存都是10 ...
梁工,请您看一下我的这个补充说明:
经过与代码作者沟通,说明如下:与static无关,作者估计 是读写速度影响了,xdata 更适合用在数组 连续性读取的情况 比单个变量更稳定,下面的视频是问题复现。
https://www.bilibili.com/video/B ... id_from=333.999.0.0 我看了视频,估计是操作LED阵列操作中延时的问题,xdata 的存取比 data 所需的指令时间长, 所以显示正常; 使用data时速度过快,存在一个竖条闪烁;
页:
[1]