《Arduino技术内幕》学习笔记(一)

第一章 硬件

  Arduino是硬件和软件的有机结合。

  Arduino I/O电路板传统上是基于Atmel的AVR ATmega8及其后续型号的,I/O电路板上有串口、电源电路、扩展插座和其他一些必要的元件。——这只是一块AVR开发板。

  ATmega328P-PU:32KB的程序存储器。第一个P表示低功耗的picoPower技术;第二个P表示PDIP封装,塑料双列直插式;第三个U表示工业级温度范围-40摄氏度——85摄氏度。单芯片的计算机,封装了中央处理单元(CPU)、内存阵列、时钟和一些外围设备。最高20MHZ(1M就是1百万)的时钟频率。

  Arduino的串口工作在异步模式,和PC的一样,PC的串口叫做RS-232端口,当把Arduino电路板接到一个RS-232端口的时候,必须使用一个RS-232到TTL的适配器。

  Arduino有些数字引脚提供模拟输出能力(见AnalogWrite()函数),但实际上是脉宽调制(PWM)或纯数字输出。而模拟输入可以和其他数字引脚一样方便地用作数字输入或输出,但是绝对做不了模拟输出。

  扩展插座是安装盾板的地方。

  Arduino Mega2560比Arduino ATmega328内存更大,外围设备更多。

  www.freeduino.org可以帮助你设计自己的Arduino。

  

  Arduino计划的基本想法:一个专用的、可编程的单片机,只有最少的必需外部元件,可以以受限的方式感知并与外部世界交互,既可以是一个高级系统的组成部件,也可以是有追求的设计工程师的学习工具。


第二章 软件

  每个Arduino程序背后的C代码:

void setup(void);//setup()函数原型

void loop(void);//loop()函数原型

int main(void){

  setup();//按需执行一次性的初始化

  while(1){

    loop();//不断地重复执行

  }

  return 0;//这句永远不会发生

}


  Arduino的所有数字I/O引脚在上电的时候都被配置为输入。

  Arduino软件拿你的程序和幕后系统生成的main模板程序一起交给avr-gcc编译器。编译出来的目标代码和标准Arduino库以及avr-libc——开源的Atmel AVR单片机的C库链接在一起。avr的二进制工具binutil配合avr-gcc编译器产生最终的可执行映像,并格式化成Intel的HEX文件格式。产生的HEX文件通过另一个叫做avrdue(AVR下载/上传工具)的开源工具发送到Arduino电路板上。

  Arduino的引导装载程序是驻留在用户程序的空间之外某处的一小段固件。当电路板上电或重启的时候,引导装载程序就被激活。这样Arduino IDE就可以远程重启I/O电路板,然后给引导装载程序发送命令,要它存储新编译好的程序。


  预编译器——词法分析——语法分析——翻译——链接——优化


  软件项目没有真正结束的那一天。


第三章 Atmel AVR

  Atmel的8位AVR系列的ATmega家族,还有32位的AVR系列。

  ATmega328P-PU:第一个P表示具有Atmel的picoPower低功耗技术。

                                     第二个P表示PDIP封装形式,双列直插式。

                                     第三个U表示工业级温度范围-40℃-85℃。


  ATmega328芯片有2KB的SRAM(static Random—Access Memory,静态随机存取内存)。保存程序在运行过程中的一些变量和变化的数据,是数据存储器。只要芯片还有电,SRAM内存就保持着里面的数据,不过,当掉电时,内存里的状态是不确定的,就是说,不能认为刚上电的时候SRAM里有某个特定的值(比如全都是0)。

  ATmega328有1KB的EEPROM(Electrically Erasable,Programmable Read—Only Memory,电可擦写只读存储器)。EEPROM和程序存储器很相似,不同的是它可以承受很多次的写和擦除。


第六章  优化

  在任何嵌入式项目中都有3个主要的优化方向:程序和数据的空间、程序执行的速度和系统的功耗。


(注:本书因为其他原因就只看到了这里,它是图灵程序设计丛书,真正精彩的在后面,以后有机会再看。Arduino还有不少好书,像程晨的《Arduino开发实战指南 AVR篇》等)。

 




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有了这些资料集合,单片机开发差不多全了 不能错过的Arduino图书.pdf Arduino一试就上手(第2版).pdf Arduino与树莓派哪个是更适合 - 推酷.pdf Arduino从基础到实践.pdf ARDUINO开发实战指南 AVR篇.pdf Arduino开源设计_吴义满.pdf ARDUINo玩转电子制作.pdf Arduino电子设计实战指南.零基础篇.pdf Arduino高级开发权威指南(原书第2版).pdf 深入浅出AVR单片机.pdf Arduino - Graph.pdf e络盟针对工业物联网应用供应一体_省略_angOHGreen开源硬件平台_.pdf Marvell开源KinomaJS应用框架加速物联网行业成长_.pdf wifi模块简单使用教程,如何将数据发送到电脑(esp8266 arduino库的使用) wifi.pdf [ARDUINO.ANDROID互动智作].〔美〕Simon.Monk.科学出版社.扫描版(简体).pdf [ARDUINO技术内幕].[美].Dale.Wheat.翁恺.译.扫描版.pdf 用Arduino和Yeelink打造智能家居.pdf 中文语音引擎EKHO在Raspberrypi上的应用实例_薛凯.pdf 以大数据与物联网为基础的仿生设计方法_陈阳.pdf 华为推出基于开源的物联网操作系统_.pdf 在物联网时代_开源该怎么玩_本刊编辑部.pdf 基于Wi_FiSoC的物联网平台设计_纪亚萍.caj 基于开源硬件和物联网云平台的远程控制应用_林巧生.pdf 基于微信和Arduino家用物联网系统开发_薛毛毛.pdf 挑战树莓派:谁才是Geek最爱的开发板.pdf 极客DIY:利用Arduino制作智能家居系统 - FreeBuf.pdf 爱上Arduino.pdf 物联网革命的三个阶段(联接未联接的,生成智能的联接,复杂子系统的自治).pdf

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值