我是靠谱客的博主 魁梧麦片,最近开发中收集的这篇文章主要介绍typedef struct bit0 : 1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#define Uint unsigned int
typedef struct
{
Uint bit0
: 1;
Uint bit1
: 1;
Uint bit2
: 1;
Uint bit3
: 1;
Uint bit4
: 1;
Uint bit5
: 1;
Uint bit6
: 1;
Uint bit7
: 1;
Uint bit8
: 1;
Uint bit9
: 1;
Uint bit10 : 1;
Uint bit11 : 1;
Uint bit12 : 1;
Uint bit13 : 1;
Uint bit14 : 1;
Uint bit15 : 1;
}Bit;
typedef struct
{
Uint bytel
: 8;
Uint byteh
: 8;
}Byte;
typedef union
{
Bit bit;
Byte byte;
Uint port;
}UNport;
#define PA
((volatile UNport *)(0x7000))
#define PA_Buffer
((volatile UNport *)(0x7001))
#define PA_Dir
((volatile UNport *)(0x7002))
#define PA_Attrib
((volatile UNport *)(0x7003))
#define PA_Latch
((volatile UNport *)(0x7004))
#define PB
((volatile UNport *)(0x7005))
#define PB_Buffer
((volatile UNport *)(0x7006))
#define PB_Dir
((volatile UNport *)(0x7007))
#define PB_Attrib
((volatile UNport *)(0x7008))
#define Poscu
((volatile UNport *)(0x7013))
#define Ptbu
((volatile UNport *)(0x700e))
#define Ptbc
((volatile UNport *)(0x700f))
#define Pt0
((volatile UNport *)(0x700a))
#define Pt1
((volatile UNport *)(0x700c))
#define Pt0u
((volatile UNport *)(0x700b))
#define Pt1u
((volatile UNport *)(0x700d))
#define Pintu
((volatile UNport *)(0x7010))
#define Pintc
((volatile UNport *)(0x7011))
#define Padm
((volatile UNport *)(0x7014))
#define Padl
((volatile UNport *)(0x702c))
#define Padu
((volatile UNport *)(0x7015))
#define Padmuxu
((volatile UNport *)(0x702b))
#define Pda0
((volatile UNport *)(0x7017))
#define Pda1
((volatile UNport *)(0x7016))
#define Pdau
((volatile UNport *)(0x702a))
#define Pwdogc
((volatile UNport *)(0x7012))
#define Pflashu
((volatile UNport *)(0x7555))
//-------------------------------------------------------------------------------------------------------
//以下部分在编程中直接调用使用;
#define Watchdog_Clear
Pwdogc->port
#define P0_0
PA->bit.bit0
#define P0_1
PA->bit.bit1
#define P0_2
PA->bit.bit2
#define P0_3
PA->bit.bit3
#define P0_4
PA->bit.bit4
#define P0_5
PA->bit.bit5
这种结构体定义方式书上没有解释?不明白什么意思?Uint bit: 1;
: 1?没见过?为什么这样可以将凌阳单片机的接口进行位定义?

回答:

一.

typedef struct
{
Uint bit0 : 1;
Uint bit1 : 1;
Uint bit2 : 1;
Uint bit3 : 1;
Uint bit4 : 1;
Uint bit5 : 1;
Uint bit6 : 1;
Uint bit7 : 1;
Uint bit8 : 1;
Uint bit9 : 1;
Uint bit10 : 1;
Uint bit11 : 1;
Uint bit12 : 1;
Uint bit13 : 1;
Uint bit14 : 1;
Uint bit15 : 1;
}Bit;
这个结构体有16个单元,每个单元一位,正好可以用于单片机中的数据保存和读取问题.应该是16位机吧

二.

 

typedef struct
{
Uint bit0 : 1;
Uint bit1 : 1;
Uint bit2 : 1;
Uint bit3 : 1;
Uint bit4 : 1;
Uint bit5 : 1;
Uint bit6 : 1;
Uint bit7 : 1;
Uint bit8 : 1;
Uint bit9 : 1;
Uint bit10 : 1;
Uint bit11 : 1;
Uint bit12 : 1;
Uint bit13 : 1;
Uint bit14 : 1;
Uint bit15 : 1;
}Bit;
每个成员各自占1个bit,这是按bit位来定义结构体的 

 

最后

以上就是魁梧麦片为你收集整理的typedef struct bit0 : 1的全部内容,希望文章能够帮你解决typedef struct bit0 : 1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部