B001-Atmega16-对齐模式和大小端

发布者:水手谷水手最新更新时间:2022-02-10 来源: eefocus关键字:Atmega16  大小端 手机看文章 扫描二维码
随时随地手机看文章

测试以确定Atmega16的对齐模式和大小端


先贴出结果:

- 小端模式

- 无对齐要求(1字节对齐)


测试代码

// 测试变量

struct {

    uint8_t  type0;

    uint16_t code0;

    uint8_t  type1;

    uint16_t code1;

    uint32_t data;

}code_data;

uint32_t second  = 0x00989680;

uint8_t *pSecond = (uint8_t *)&second;

uint8_t  dSecond[4] = {10,20,30,40};


// 求取结果

dSecond[0] = *(pSecond + 0);

dSecond[1] = *(pSecond + 1);

dSecond[2] = *(pSecond + 2);

dSecond[3] = *(pSecond + 3);

event_8.data = sizeof(code_data);


硬件调试的结果如下图:

Debug结果

1、second = 0x00989680,低字节0x80对应dSecond[0] = *(pSecond + 0),即低字节位于内存的低地址。

所以机器是小端模式。

2、event_8.data = sizeof(code_data) = 10、表示该结构体是按照1字节对齐。

或者说是没有对齐的要求。

关键字:Atmega16  大小端 引用地址:B001-Atmega16-对齐模式和大小端

上一篇:B001-Atmega16-汇编-地址空间分配
下一篇:新型按键扫描程序(C程序)

推荐阅读最新更新时间:2024-11-23 10:23

基于nRF905的智能道路照明节能系统
目前,国内大部分城市的道路照明管理系统至今仍在沿用相对单一的光控、时控等传统控制方式。这些系统普遍存在着难以反馈路灯运行状态信息、难以进行远程控制等局限,节电效果不理想。另外我国大部分城市路灯采用“全夜灯”的方式进行照明,普遍存在的问题有两点:一方面,后半夜行人稀少,采用“全夜灯”的方式浪费太大,因此,有的地方采取前半夜全亮,后半夜全灭的“半夜灯”照明方式;有的地方在后半夜采取“亮一隔一”或“亮一隔二”的节电措施,此种方式虽然节约了电费支出,却带来了社会治安和交通安全问题,不利于城市形象。 1 系统方案概述 该系统由照明区域控制器与智能节点组成,照明区域控制器负责所辖路段的智能化照明控制,而智能节点负责单个路灯的控制和状
[单片机]
基于nRF905的智能道路照明节能系统
Atmega16的1602液晶使用
#include avr/io.h #include util/delay.h #include 1602.h uchar L = L I Miss You ; void display()//显示函数 { write_com(0x80); show_string(L);//显示字符串 } void init()//初始化函数 { DDRC=0xff;//全部设置为输出 DDRA|=(1 7)|(1 6);//设置PA口的第6位(1602的rs控制脚)和第7位(1602的en控制脚)为输出 init_1602();//1602液晶初始化 } int main() { init(); display(); wh
[单片机]
Proteus—AVR单片机(ATMEGA16单片机)系统时钟及时钟选项设置
在设置之前呢,我得把ATMEGA16里面的datasheet里面的资料说说,当然是关于系统时钟和时钟选项的 一、系统时钟及时钟选项(这里主要是介绍原理,三里面会介绍如何设置,其实你会了一,那后面的二和三就相当简单了~~你懂得,就是根据一来的 ) 1. 时钟系统及其分布: Figure 11为AVR的主要时钟系统及其分布。这些时钟并不需要同时工作。为了降低功耗, 可以通过使用不同的睡眠模式来禁止无需工作的模块的时钟。 1)CPU 时钟- clkCPU CPU时钟与操作AVR内核的子系统相连,如通用寄存器文件、状态寄存器及保存堆栈指针 的数据存储器。终止CPU 时钟将使内核停止工作和计算。 2)I/O 时钟- clkI/O I/
[单片机]
Proteus—AVR单片机(<font color='red'>ATMEGA16</font>单片机)系统时钟及时钟选项设置
Atmega16微控制器连接ESP8266 NodeMCU实现发送电子邮件
Atmega16是一款低成本的8位微控制器,与之前版本的微控制器相比,其GPIO数量更多。它具有所有常用的通信协议,如UART、USART、SPI和I2C。由于其广泛的社区支持和简单性,它在机器人、汽车和自动化行业中具有广泛的应用。 Atmega16不支持任何无线通信协议,如Wi-Fi和蓝牙,这限制了其在某些领域内的应用领域,如物联网。为了克服这种限制,可以连接支持无线协议的其他控制器。有许多控制器支持无线协议,如被广泛使用的ESP8266等。 在本篇文章中,我们将Atmega16微控制器与ESP8266 NodeMCU进行连接,使其通过互联网进行无线通信。 ESP8266 NodeMCU是广泛使用的WiFi模块,具
[单片机]
<font color='red'>Atmega16</font>微控制器连接ESP8266 NodeMCU实现发送电子邮件
基于ATmega16的多路水文参数采集及无线传输系统
引言 为适应防汛和水利调度的现代化、信息化要求,水文监测系统的建设进入了数字化、网络化阶段。在许多重点水域(重点河流、湖泊、水库、水利工程等),往往需要监测多个水文数据才能满足实际需求,包括流速、水位、水质、流量、温度、降水量等。这就为多路数据采集提出了应用需求。另外,大坝上下、河流交汇处、汛情多发地段、引水隧洞等不同地段水文参数往往也各不相同,这就需要进行多点组网实时数据采集和传输。为此设计了一套数据采集和无线传输系统。 系统总体设计 该系统由若干个监测点组成无线监测网络,如图1a所示。监控中心向各监测点发出的各项指令由无线电台发送出去,各监测点在接收到指令后先进行身份识别,当确认本身被选中时便开始执行相应的指令,在执行完指令后
[单片机]
基于<font color='red'>ATmega16</font>的多路水文参数采集及无线传输系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved