
B001-Atmega16-综合
文章平均质量分 72
Manon_des_sources
归于简单.还原事物直白的一面.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
B001-Atmega16-带电复位后不清0的.noinit变量
AVR中、保存在.bss段的变量在芯片启动的.init4阶段会被清0,但是定义在.bss的.noinit段中的变量在.init4阶段不会被清0。 单片机不掉电复位后,.noinit段的这些变量的值依然存在,可以继续使用。 主要内容: 利用这个特性可以测得复位次数。 进而可以测试WDT复位和BOD复位。原创 2016-05-30 11:43:58 · 1576 阅读 · 0 评论 -
B001-Atmega16-PORTA的定义-(ques=1)
在iom16.h中定义了PORTA如下: #define PORTA _SFR_IO8(0x1B) 接着在sfr_defs.h中定义了_SFR_IO8()如下: #if _SFR_ASM_COMPAT ...... #define _SFR_IO8(io_addr) ((io_addr) + __SFR_OFFSET) #define _SFR_IO16(io_addr) ((io_ad原创 2016-07-01 00:38:57 · 1263 阅读 · 0 评论 -
B001-Atmega16-汇编-地址空间分配
打开m16def.inc、可以看到如下面的定义,它和手册里面描述的ROM、RAM等的地址空间一一对应。 同时、可以在DEBUG模式下看到SP指针是放在RAM的末尾,从最后面开始向下生长。原创 2016-08-23 06:51:18 · 1244 阅读 · 0 评论 -
B001-Atmega16-中断(GCC-AVR)-(ques=3)
GCC-AVR下的中断的写法和需要注意的地方 主要内容: 中断配置的步骤 中断函数的一般定义 定时器2中断实例 伪中断的作用和测试原创 2016-06-15 16:28:48 · 1781 阅读 · 0 评论 -
B001-Atmega16-对齐模式和大小端
测试以确定Atmega16的对齐模式和大小端 先贴出结果: - 小端模式 - 无对齐要求(1字节对齐) 测试代码 // 测试变量 struct { uint8_t type0; uint16_t code0; uint8_t type1; uint16_t code1; uint32_t data; }code_data; uint32_t secon原创 2016-10-03 00:12:52 · 789 阅读 · 0 评论 -
A004-移位范围超过变量宽度-(ques=1)
今天的代码被警告说:left shift count >= width of type 代码: typedef enum { MSG_WARNING_DELAYED = (1 << 30), MSG_WARNING_LOCKED = (1 << 31) }MSG_EVENT_TASK_WARNING;平台:AVR-GCC、Atmega16。 搜索了下、最终确定是移原创 2016-10-16 22:59:32 · 1075 阅读 · 0 评论 -
B001-Atmega16-位域的汇编实现
本文用于收集一些方法:位域的汇编实现 目前收集到[1]种实现方法原创 2016-10-28 01:03:24 · 919 阅读 · 0 评论 -
B001-Atmega16-公共buffer管理器(静态)-(未开始)
有多个从机时、可以建立一个公共buffer管理器, 来解决几个从机之间使用同一个buffer的问题, 同时也为其他公共buffer解决共用问题,管理器的每个成员都是一个buffer,管理信息是这个buffer的当前用户、其他用户、使用状态。原创 2016-11-24 09:07:20 · 535 阅读 · 0 评论 -
D001-开发工具-AVR Studio 环境配置和使用笔记
AVR Studio 环境配置: 1、编译连接类 2、编辑类 3、Debug类 4、优化类 5、警告类原创 2016-05-29 18:33:32 · 2757 阅读 · 0 评论