打印
[国产单片机]

【我服了,谁遇到过】C8051单片机的问题

[复制链接]
1574|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
啥是arm|  楼主 | 2013-7-15 19:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是f040这款单片机,在一系列初始化后,使用的是串口发送数据,电脑上用串口调试助手显示,
while(1){
        SFRPAGE = UART0_PAGE;
        SBUF0 = 'E';
           while(TI0==0);
           TI0=0;
}
大循环就发送个E字母,debug运行,调试助手也正常显示了,这种情况是正常的。然后我往工程添加了一个dht11传感器的C文件,注意了只是添加,并没有包含或使用,然后再debug运行,结果出现了target failed to responed,system is being disconnected,不知道为什么。然后我把那个dht11的C文件从工程中移除,结果程序又好使了,谁遇到过的能不能 讲讲?(我的DHT11里面就使用了P0^2这个管脚,就是一些关于单总线的操作,其他什么也没有。况且我程序里面都没有包含DHT11)

相关帖子

沙发
ayb_ice| | 2013-7-16 08:12 | 只看该作者
加了C文件,要能编译通过才行
再说了,你说的只是你自己想的,真实情况可能不是那样的

使用特权

评论回复
板凳
airwill| | 2013-7-22 19:03 | 只看该作者
我想肯定有变化了, 借助调试器, 看看到底发生了什么改变

使用特权

评论回复
地板
wping1234| | 2013-7-22 22:51 | 只看该作者

以前遇见过,sprintf函数,本来有4个变量正常的,但是一旦加入某个文件后,第四个变量就不正确了。

我怀疑是加了文件编译后,RAM区和FLASH区域的变量地址变化造成了。开头我以为是memory model或code rom size造成的,但发现怎么更改设置都不对。
具体原因我也没有分析出来:(
最后用了其他办法,避开了。

使用特权

评论回复
5
啥是arm|  楼主 | 2013-7-24 19:31 | 只看该作者
wping1234 发表于 2013-7-22 22:51
以前遇见过,sprintf函数,本来有4个变量正常的,但是一旦加入某个文件后,第四个变量就不正确了。

我怀 ...

看来可能是我也悲剧了,我还是想招儿避开吧

使用特权

评论回复
6
啥是arm|  楼主 | 2013-7-24 19:32 | 只看该作者
ayb_ice 发表于 2013-7-16 08:12
加了C文件,要能编译通过才行
再说了,你说的只是你自己想的,真实情况可能不是那样的 ...

恩 是编译通过才调试的

使用特权

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

本版积分规则

46

主题

181

帖子

0

粉丝