发新帖本帖赏金 5.00元(功能说明)我要提问
返回列表
打印
[STC单片机]

STC单片机xdata乱码问题有多少遇到过?

[复制链接]
楼主: henangongda123
手机看帖
扫描二维码
随时随地手机跟帖
21
autopccopy| | 2021-6-8 00:36 | 只看该作者 回帖奖励 |倒序浏览
换个其他型号的51试试吧。

使用特权

评论回复
22
henangongda123|  楼主 | 2021-6-8 08:42 | 只看该作者
autopccopy 发表于 2021-6-8 00:36
换个其他型号的51试试吧。

确定了,不是xdata问题,是中断干扰了数组发送数据时序

使用特权

评论回复
23
henangongda123|  楼主 | 2021-6-8 08:43 | 只看该作者
再次向STC说声抱歉,确实不是STC的问题,是写程序没考虑到中断带来的时序影响,不好意思

使用特权

评论回复
24
imdx| | 2021-6-8 08:52 | 只看该作者
看到标题就知道是你自己的问题。

使用特权

评论回复
25
不闲不要钱| | 2021-6-8 08:54 | 只看该作者
看到标题就知道大概率是自己的问题。

使用特权

评论回复
26
m564522634| | 2021-6-8 08:58 | 只看该作者
henangongda123 发表于 2021-6-7 15:57
中断没有修改它,定时中断检测按键的,跟数组没有关系,但是关掉总中断后还确实没有这个不良问题了! ...

多半是程序的问题,如果中断和外部中有对同一变量修改的话在程序写法上要注意了。

使用特权

评论回复
27
henangongda123|  楼主 | 2021-6-8 09:09 | 只看该作者
m564522634 发表于 2021-6-8 08:58
多半是程序的问题,如果中断和外部中有对同一变量修改的话在程序写法上要注意了。  ...

写程序之前还考虑过中断影响时序问题,写着写着忘记了。。。

使用特权

评论回复
28
henangongda123|  楼主 | 2021-6-8 09:17 | 只看该作者
**NT018 发表于 2021-6-8 09:10
pdata uchar Display_Data[120];//定义用于存储每个像素点效果数据的数组(LED_Pixel*3)

建议改成

定义到idata程序跑不了,keil编译可以通过;pdata和xdata效果一样,pdata使用的是低字节外部扩展,keil编译出来效果一样,话说STC现在做的确实不错了,有一说一,后面会考虑长期用

使用特权

评论回复
评论
NJZR 2021-10-5 14:58 回复TA
定义PDATA应该是用R0或R1访问XRAM低256字节,在多数内核中会比用DPTR访问快一点 
29
henangongda123|  楼主 | 2021-6-8 09:18 | 只看该作者
不闲不要钱 发表于 2021-6-8 08:54
看到标题就知道大概率是自己的问题。

汗。。。

使用特权

评论回复
30
coody| | 2021-6-8 09:57 | 只看该作者
基本都是程序问题,看到大部分抱怨STC的都是程序问题。51本来RAM就小,增加了xdata,如果使用xdata会有问题,厂家怎么会量产呢?内测都不过的。我用STC时大量的用XDATA,多个串口,从没发现问题。

使用特权

评论回复
31
henangongda123|  楼主 | 2021-6-8 11:02 | 只看该作者
coody 发表于 2021-6-8 09:57
基本都是程序问题,看到大部分抱怨STC的都是程序问题。51本来RAM就小,增加了xdata,如果使用xdata会有问题 ...

好的 好的

使用特权

评论回复
32
前功尽弃| | 2021-6-8 18:03 | 只看该作者
我感觉这种51内核的8位单片机,bug都是比较多的,要不是现在M0芯片买不到,我是绝对不用这种芯片的。有时候定义用Xdata修饰的话,就会出现问题。

使用特权

评论回复
33
coody| | 2021-6-9 15:20 | 只看该作者
前功尽弃 发表于 2021-6-8 18:03
我感觉这种51内核的8位单片机,bug都是比较多的,要不是现在M0芯片买不到,我是绝对不用这种芯片的。有时候 ...

BUG不能凭感觉的吧?BUG是要拿出证据证明的。如果凭感觉,那我觉得越复杂的IC越多BUG,比如32位比8位复杂,那么32位的MCU其BUG就多,你认为呢?否则,凭什么说51内核的8位机BUG多?那别的内核的8位机呢?PIC AVR 弯弯N种8位机BUG也很多吗?

使用特权

评论回复
34
zhxzhxzzhhxx| | 2021-6-10 10:49 | 只看该作者
henangongda123 发表于 2021-6-7 16:09
只是定义一个数组,不断的修改、调用数组而已,没什么时序要求

别瞎扯了,你彩灯是WS2812之类的吧?这个时序被中断打断了,排除问题的时候,必须独立一个问题,怀疑Xdata,就用数据填充XDATA,然后校验。

使用特权

评论回复
35
xyz549040622| | 2021-6-10 23:15 | 只看该作者
从此贴看到了调试的重要性,解决问题的逻辑,还有不要轻易的怀疑芯片。

使用特权

评论回复
36
henangongda123|  楼主 | 2021-6-11 08:45 | 只看该作者
zhxzhxzzhhxx 发表于 2021-6-10 10:49
别瞎扯了,你彩灯是WS2812之类的吧?这个时序被中断打断了,排除问题的时候,必须独立一个问题,怀疑Xdat ...

能不能把“别瞎扯了”去掉?STC难道是神圣不可怀疑、吊炸天的单片机?不能有一点点怀疑?120字节的数组,随机有一个数据不对,我就不能怀疑一下是单片机有问题?

使用特权

评论回复
37
jackyhuang1988| | 2021-6-23 10:22 | 只看该作者
ayb_ice 发表于 2021-6-7 15:47
多半是程序自身问题,XDATA访问效率低而已,需要更多的指令来完成,在任务与中断等多处修改时要特别 ...

百分之百是程序问题

使用特权

评论回复
38
zhxzhxzzhhxx| | 2021-6-24 10:12 | 只看该作者
henangongda123 发表于 2021-6-11 08:45
能不能把“别瞎扯了”去掉?STC难道是神圣不可怀疑、吊炸天的单片机?不能有一点点怀疑?120字节的数组, ...

能怀疑,但是怀疑之前,自己要验证好,怀疑XDATA,你就要用数据来验证,不能看到一个人不能走路就是脚的问题,他还可能脑袋没了.

使用特权

评论回复
39
henangongda123|  楼主 | 2021-6-24 10:19 | 只看该作者
zhxzhxzzhhxx 发表于 2021-6-24 10:12
能怀疑,但是怀疑之前,自己要验证好,怀疑XDATA,你就要用数据来验证,不能看到一个人不能走路就是脚的问题, ...

随机的,120个字节,不好验证,质疑一下,大家帮忙出主意,这问题不是也能解决?顺便还帮大家确认一下,STC XDATA没问题的

使用特权

评论回复
40
sdwys| | 2021-6-29 00:02 | 只看该作者
这几年一直用stc取代PIC系列,可靠性还是不错的。我用过45KW的电机软启动器,主控芯片也是STC,MCU工作环境很差,强电磁,强干扰,高温,高粉尘再这样的环境下依然STC依然可靠的工作。当出现问题时,先考虑一下自己的pcb设计和代码编写的是否规范,MCU是一种出货量很大的东西,厂家不经过充分测试,不敢随便放到市场上。

使用特权

评论回复
评论
NJZR 2021-10-6 20:46 回复TA
pic整天自我吹嘘稳定性好,除了天生的CODE结构决定了跑飞后不会错位,其它方面没觉得它有啥好的,至少芯片本身的电磁兼容抗扰度在我用过的MCU里算中下水平。 
发新帖 本帖赏金 5.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则