测试以确定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);
硬件调试的结果如下图:
1、second = 0x00989680,低字节0x80对应dSecond[0] = *(pSecond + 0),即低字节位于内存的低地址。
所以机器是小端模式。
2、event_8.data = sizeof(code_data) = 10、表示该结构体是按照1字节对齐。
或者说是没有对齐的要求。
关键字:Atmega16 大小端
引用地址:
B001-Atmega16-对齐模式和大小端
推荐阅读最新更新时间:2024-11-23 10:23
基于nRF905的智能道路照明节能系统
目前,国内大部分城市的道路照明管理系统至今仍在沿用相对单一的光控、时控等传统控制方式。这些系统普遍存在着难以反馈路灯运行状态信息、难以进行远程控制等局限,节电效果不理想。另外我国大部分城市路灯采用“全夜灯”的方式进行照明,普遍存在的问题有两点:一方面,后半夜行人稀少,采用“全夜灯”的方式浪费太大,因此,有的地方采取前半夜全亮,后半夜全灭的“半夜灯”照明方式;有的地方在后半夜采取“亮一隔一”或“亮一隔二”的节电措施,此种方式虽然节约了电费支出,却带来了社会治安和交通安全问题,不利于城市形象。 1 系统方案概述 该系统由照明区域控制器与智能节点组成,照明区域控制器负责所辖路段的智能化照明控制,而智能节点负责单个路灯的控制和状
[单片机]
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/
[单片机]
Atmega16微控制器连接ESP8266 NodeMCU实现发送电子邮件
Atmega16是一款低成本的8位微控制器,与之前版本的微控制器相比,其GPIO数量更多。它具有所有常用的通信协议,如UART、USART、SPI和I2C。由于其广泛的社区支持和简单性,它在机器人、汽车和自动化行业中具有广泛的应用。 Atmega16不支持任何无线通信协议,如Wi-Fi和蓝牙,这限制了其在某些领域内的应用领域,如物联网。为了克服这种限制,可以连接支持无线协议的其他控制器。有许多控制器支持无线协议,如被广泛使用的ESP8266等。 在本篇文章中,我们将Atmega16微控制器与ESP8266 NodeMCU进行连接,使其通过互联网进行无线通信。 ESP8266 NodeMCU是广泛使用的WiFi模块,具
[单片机]
基于ATmega16的多路水文参数采集及无线传输系统
引言 为适应防汛和水利调度的现代化、信息化要求,水文监测系统的建设进入了数字化、网络化阶段。在许多重点水域(重点河流、湖泊、水库、水利工程等),往往需要监测多个水文数据才能满足实际需求,包括流速、水位、水质、流量、温度、降水量等。这就为多路数据采集提出了应用需求。另外,大坝上下、河流交汇处、汛情多发地段、引水隧洞等不同地段水文参数往往也各不相同,这就需要进行多点组网实时数据采集和传输。为此设计了一套数据采集和无线传输系统。 系统总体设计 该系统由若干个监测点组成无线监测网络,如图1a所示。监控中心向各监测点发出的各项指令由无线电台发送出去,各监测点在接收到指令后先进行身份识别,当确认本身被选中时便开始执行相应的指令,在执行完指令后
[单片机]