打印

IAP后应用程序LED显示乱码

[复制链接]
2273|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oliver123|  楼主 | 2013-7-20 18:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
描述下,iap里面用的是裸机编程,用can总线来升级。应用程序是用FreeRtos来做的。LED显示是用的TD1629来驱动。现在有时候,升级过后,LED会显示乱码。而有的时候又是很正常的。在正常的情况下,有时改动一点程序,显示就乱了。驱动led的时候用的是全局变量,开始以为是重入性问题,但是后来显示函数里面关中断了,但是还是没用。iap的程序跳转之前中断都关了,我将用的的外设设置恢复成初始化了。但是APB没关。还是没什么效果。
请问各位大侠有没有遇到过这种情况。如果有是什么引起的?请各路高手不吝指教!
沙发
hawksabre| | 2013-7-20 18:52 | 只看该作者
不是很了解这一块   楼主   顶一个   看看有没有高手能不能解决这一问题

使用特权

评论回复
板凳
trumpxp| | 2013-7-21 09:35 | 只看该作者
楼主  顶一个    看看别人的意见

使用特权

评论回复
地板
oliver123|  楼主 | 2013-7-22 08:38 | 只看该作者
呵呵,是不是这样的问题很少见啦!有点补充的:就是同样的程序如果用IAP升级后是乱码的,但是用JTAG直接烧写,一点问题都没有。确实很扰人。不知道是IAP的问题还是程序本身的问题。

使用特权

评论回复
5
outstanding| | 2013-7-22 08:50 | 只看该作者
最开始没有这个情况么 ?难道是地址不对么?

使用特权

评论回复
6
oliver123|  楼主 | 2013-7-22 08:59 | 只看该作者
开始没有,后来有一天突然就出现这种情况了!

使用特权

评论回复
7
airwill| | 2013-7-22 09:51 | 只看该作者
常见的设计缺陷
估计是时序设计得不合理, 有些时间段过于紧张了.

使用特权

评论回复
8
oliver123|  楼主 | 2013-7-22 10:18 | 只看该作者
版主,我的tm1629是用spi通信,底板和显示有将近1米的距离,用排线连接。排线也不是很好的线,会是这spi的时序问题吗?

使用特权

评论回复
9
oliver123|  楼主 | 2013-7-22 10:40 | 只看该作者
错了,stm32和tm1629的通信是普通的IO口模拟的串口线的通信。以前出现过这种情况,tm1629还有扫描按键,就是空跳转少了后,按键就很不灵敏了。我吧代码贴出来
void SendByteTM1629D(INT8U data)
{
        INT32U i=0;

        SELTM1629D;
        taskENTER_CRITICAL(); /*系统调度器上锁*/
        for(i=0;i<8;i++)
        {
                TM1629DCLKL;
                __NOP();
                __NOP();

                if(data&0x01)
                        TM1629DOUTH;
                else
                        TM1629DOUTL;

                data>>=1;
                __NOP();
                __NOP();
                __NOP();
                __NOP();
                TM1629DCLKH;
                __NOP();
                __NOP();
        }
        taskEXIT_CRITICAL();  /*系统调度器开锁*/
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

33

帖子

0

粉丝