关于数据类型的问题 单片机
请问各位:int是一个数据类型,sbit也是一个数据类型但是我放进结构体的时候如:structa{intc;};这句话能编译过但是structa{sbitc;};这句话就...
请问各位:
int 是一个数据类型,sbit也是一个数据类型 但是我放进结构体的时候如:
struct a {
int c;
};这句话能编译过
但是 struct a {
sbit c ;
};这句话就出现语法错误
问题2:比如51单片机#include<reg51.h>里面没有定义P0^0,P0^1.....这些io口,那么这些io口的物理地址又在哪定义的呢?谢谢您的回答 展开
int 是一个数据类型,sbit也是一个数据类型 但是我放进结构体的时候如:
struct a {
int c;
};这句话能编译过
但是 struct a {
sbit c ;
};这句话就出现语法错误
问题2:比如51单片机#include<reg51.h>里面没有定义P0^0,P0^1.....这些io口,那么这些io口的物理地址又在哪定义的呢?谢谢您的回答 展开
4个回答
展开全部
production[0]=production_time%10000/10000;
改为
production[0]=production_time/10000;
这应该是有问题 的。
如果这样还不行,那么你就直接对production_time赋值为30001,看看能不能显示,从而判断是不是显示程序段有问题。
unsigned long int production_time=12345;
改为
//unsigned long int production_time=12345;
unsigned long int production_time=30001;
进行进一步的调试。
程序都是一点点调的,莫要着急。
改为
production[0]=production_time/10000;
这应该是有问题 的。
如果这样还不行,那么你就直接对production_time赋值为30001,看看能不能显示,从而判断是不是显示程序段有问题。
unsigned long int production_time=12345;
改为
//unsigned long int production_time=12345;
unsigned long int production_time=30001;
进行进一步的调试。
程序都是一点点调的,莫要着急。
追问
要是不想回答你可以选择不用回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、sbit是用来定义端口位的。
和bit是不一样的。
和sfr相类似,比如。
sfr P0 = 0x80; //1111,1111 ¶Ë¿Ú0
sbit P00 = P0^0;
2、在选择单片机类型中,会提示添加对应的单片机头文件的,也可以自己手动修改,里面有对IO口的定义的。
比如Keil 中的DEVICE设置。
和bit是不一样的。
和sfr相类似,比如。
sfr P0 = 0x80; //1111,1111 ¶Ë¿Ú0
sbit P00 = P0^0;
2、在选择单片机类型中,会提示添加对应的单片机头文件的,也可以自己手动修改,里面有对IO口的定义的。
比如Keil 中的DEVICE设置。
更多追问追答
追问
是的在头文件 *.h文件里是有对IO口的定义 但是只定义了P0 P1 口的定义没有对每一位地址的定义 所以我的意思是像 P0^0位的操作这种定义在什么地址 如果没定义的话 后面C文件里又是怎么调用的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个问题:
sbit是51单片机对C语言的扩展,只能在51上使用sbit,而标准的C语言是不支持sbit的所以C语言的结构体也不支持。
第二个问题,我还真没注意过,你很细心,我认为是KEIL软件内部的支持吧,下班后查一下
sbit是51单片机对C语言的扩展,只能在51上使用sbit,而标准的C语言是不支持sbit的所以C语言的结构体也不支持。
第二个问题,我还真没注意过,你很细心,我认为是KEIL软件内部的支持吧,下班后查一下
追问
谢谢您的回答 其实第二个问题 我以前用51时一直也没注意 前段时间在移植uboot的时候突然想到了 回过来查没查到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
寄存器中的数值并非模拟电压的真实值,需要再乘以分辨率。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询