atmel studio7使用记录
atmel studio7使用记录
#2019.1.11
由于项目的需要,我初次接触atmel 芯片,以及其专用编译器atmel studio7。刚开始,由于各种不习惯,我是抗拒的。尤其是AVR studio移植过来时,编译出了好多错误。以下为遇到的问题及解决方法。
1、添加头文件
由于编译器的不同,头文件有了很大改变。通过上网搜资料以及自己摸索,还是比较容易解决的。需要说明的是,AS7的头文件添加很方便,只要是工程中有的头文件,在代码中添加时,只需打出前几个字母,就能索引出准确的头文件名称。
2、变量被优化
在函数中定义的变量,经常会被优化掉,导致参数传递不过去,此时只需在定义时添加volatile即可。
3、program memory和data memory
这个需要特别注意。如果程序中定义有大量的常量,一定要在定义时,头部写上PROGMEM,还要添加头文件#include <avr/pgmspace.h>,这样,定义的常量就保存在program memory中了。否则,由于data memory仅有4k而会出现内存溢出的现象。
当data memory区的变量去读取program memory区的数据时,需要添加pgm_read_byte(),具体用法可参看其定义中的说明,应用实例如下:
volatile unsigned char k;
k=pgm_read_byte(&CusorLib[0][1]);
4、atmel | start
file->new->atmel | start studio,可视化编程,类似于STM32的CubeMX,具体待后续研究。
由于此次我只是简单实现点亮LED灯和在LCD上显示一串字符,因此没有涉及到定时器,中断等外设,待完成项目后,再更新心得。2019.1.11。
atmel studio7使用记录相关推荐
- 关于atmel芯片security bit的取消
用atmel studio7 调试samd20系列单片机时,如果之前设置了security bit,进到device programming页面时,jlink会弹个对话框出来问是否清security ...
- ATMEL SAMC20J多通道ADC问题
## ATMEL SAMC20J多通道ADC问题##最近,在学习使用ATMEL单片机,用到的是SAMC20J18A,当调试多通道ADC时,遇到了一些问题,其中有关多通道ADC采样问题整了比较久.记录一 ...
- Atmel Studio 6使用
https://www.jb51.net/softs/556230.html Atmel Studio6也叫Avr Studio 6,是一款由Atmel公司开发的免费.集成化开发环境(IDE),可用来 ...
- 【Buildroot】学习记录(2)配置注释
文章目录 一.前言 二.Buildroot目录结构 三.Buildroot配置选项 四.Target options(目标选项) 五.Build options(编译选项) 六.Toolchain(工 ...
- 可信计算系列之一——ATMEL的TPM芯片AT97SC3204T及TSS栈
最近有项目需要,需要开发移动终端的安全.首先想到的是可信计算,可信计算在PC机比较流行,但是目前对可信计算的褒贬不一,这里不作评论.本文的目的是记录一下我的开发过程. 我使用的芯片是ATMEL公司的A ...
- mysql建立联合索引,mysql建立唯一键,mysql如何解决重复记录联合索引
在项目中,常常要用到联合唯一 在一些配置表中,一些列的组合成为一条记录. 比如,在游戏中,游戏的分区和用户id会形成一条记录.(比如,一个qq用户可以在艾欧尼亚.德玛西亚创建两个账号) 添加联 ...
- 实现 连续15签到记录_MySQL和Redis实现用户签到,你喜欢怎么实现?
现在的网站和app开发中,签到是一个很常见的功能 如微博签到送积分,签到排行榜 微博签到 如移动app ,签到送流量等活动, 移动app签到 用户签到是提高用户粘性的有效手段,用的好能事半功倍! 下面 ...
- 记录一次http请求失败的问题分析
问题背景 当前我有一个基于Flask编写的Restful服务,由于业务的需求,我需要将该服务打包成docker 镜像进行离线部署,原始服务的端口是在6661端口进行开启,为了区分,在docker中启动 ...
- Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)
Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...
最新文章
- oracle判断侦听状态,oracle 监听状态为BLOCKED
- jmeter之关联操作
- org.springframework.amqp.AmqpConnectException java.net.ConnectException的解决办法
- 安装mlxtend_python机器学习包mlxtend的安装和配置详解
- phonegap安装 环境搭建与配置详解(3.4 完整版 提供下载地址)
- 使用inetaddress测试目标可达性_纯java手写打造方法级白盒测试框架
- 蓝桥杯 BASIC-11 基础练习 十六进制转十进制
- 2.2. MongoDB 管理
- 粒子群PSO算法实验及其代码解释
- python安装sqlalchemy-Python流行ORM框架sqlalchemy安装与使用教程
- 统计分析软件_专业统计分析软件 SPSS 25 来了!手把手教你安装
- SMT工艺培训一日谈
- 使用vue中遇到的一些问题以及解决方案
- Jackson 生成xml格式文件
- 原理图编译出现Has no driving source 啥意思?
- FreeRTOS学习笔记(10)——中断管理
- android 仿微信聊天界面 以及语音录制功能,Android仿微信录制语音功能
- 使用微信小程序怎么用wx.storage来实现收藏功能?
- MBR和GUID区别
- Nginx返回411错误