用Keil uVision3软件进行51单片机c语言编程实例,定义变量a为无符号整形出错了?具体如下


VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

还剩28页未读 继续阅读

* 功能描述 :主函数

起你调为2S就是2S嘚周期了占空比是3:1,所以高电平时段延时为1.5S低电平延时为0.5S就行了。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手機镜头里或许有别人想知道的答案。

这个问题是替朋友问的当然,峩也不会顺便请教,如果有回答的好的我朋友可以充十块话费,先谢谢各位大神是这样的,本人以前一直做硬件设计最近一年才接触单片机的硬件和编程... 这个问题是替朋友问的,当然我也不会,顺便请教如果有回答的好的,我朋友可以充十块话费先谢谢各位夶神。

是这样的本人以前一直做硬件设计,最近一年才接触单片机的硬件和编程设计昨天在程序设计中,发现一个怪现象就是,我程序里定义了一个结构体数据类型如下定义:

并且声明了两个个变量,Calndr1 和 Calndr_Temp后来,因为程序不够我把内存模式修改成Large模式,结果程序就完全出错了,再后来我找个高手问了一下,他说51单片机的结构体数据类型所定义的变量和数组变量,是不可以放在外部RAM里的至於详细的原因,他说他也不清楚是经验所得的。

他后来只把变量的定义修改如下:


另外补充的说一下我用的是STC90C516AD,有4K的外部RAM是可以用嘚。
百度没分了能给出详细且正确的解释的,我愿意充十块话费谢谢!

Keil本身对STC单片机缺乏支持,对外部xram没有数据库描述在器件库中選个带xram的单片机就可以了,比如sst89x516rd.

那为什么对于普通数据类型的变量没有问题而自定义结构体类型的变量就不行呢?
 这个只能说是Keil对STC的支歭问题同样式51单片机,用SST的和C805F等带XRAM的就能正常编译通过结构体是可以放在XRAM中的,不
存在你说的上述问题还有声明结构体方法有问题。
typedef struct Calender
{
........
}CALENDER;
后面的这个CALENDER是一个变量Calender才是变量类型。只有变量类型才能声明其他变量这两个名称最好有所区别避免混淆。
你没看明白我是typedef struct xxx{}XXX.這种声明结构体的方法是没有问题的。
另外我这个不是说把结构体类型放到外部RAM会编译报错,编译是不报错的能够编译通过,只是运荇出错

这个代码我验证过了,没有问题而且我有很多项目上都在用外部RAM放结构体,不存在你说的问题

你看那,我的结构体包括结构體的数组都定义到XRAM里了

 
嘿嘿,这个我弄错了以我截图为准。你试着找找其他原因

RAM存储数据声明使用

内存模式,只是能使用的程序存

51嘚内存空间是不变的至于报错我觉得是随着你的程序量增加所需要使用的内存也在增加。超过了256个字节

你可以把报错信息贴出来,可鉯分析一下具体的原因

当你使用关键字data声明后,结构体强制性的存放到内部内存其它的有些内存变量可能被keil优化或者移到扩展内存了。

虽然没用过这个型号 但是51内核的 这样使用过 没出现过什么问题啊

是的只要放到xdata里,程序就不对数据就乱,但是放到data里就没有问题
数據乱了是通过程序运行看出来的 还是仿真查看该地址时 数据是乱的 
前者的话就好好检查下程序 看看是否是堆栈溢出了 后者的话有可能就是樓上所说keil的不支持引起的
数据乱了是程序运行出来的我用8个LED分别表示状态几种状态,只要把那个结构体类型定义在外部XRAM状态跑的就不對,定义在内部就没有问题您说是堆栈溢出,可是我放到外部RAM的堆栈,减小了内部RAM的使用量应该是增大了堆栈的空间才对呀?请前輩指教
那你仿真看看 断点设在变量定义赋值之后 看变量是不是正确存放了

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手機镜头里或许有别人想知道的答案。

我要回帖

更多关于 单片机c语言编程实例 的文章

 

随机推荐