电子说
步骤1:Pin_arduino.h
arduino uno正在使用ATmegaxx8,并使用numer定义了端口,因此我们可以轻松地使用它
该散文存储在Pin_arduino.h中
我们可以在以下路径中找到该文件C: Program Files Arduino hardware arduino avr variants standard
打开Pin_arduino.h,我们将ee arduino如何转换PORT和DDR
然后我们需要进行以下更改,才能在ATmega16上使用arduino。
数字引脚数
模拟引脚数
模拟引脚映射和const(模拟引脚)(A0,A1的实际值)
数字引脚到PCICR映射
Pin到端口(PORTA,PORTB等)的映射
引脚到定时器的映射
其中大多数是直接的,我们可以从目标AVR芯片数据表中获取正确的值。
步骤2:Board.txt
要让Arduino IDE知道我们的新产品微控制器,我们需要创建一个newboards.txt文件,其中包含有关微控制器的以下信息。
上传协议
上传速度(波特率)
上传保险丝时钟频率
最大闪存大小
要使用哪个变体(pins_arduino.h)文件
类似于pins_arduino.h文件
第3步:放手她
将pin_arduino.h放入C: Program Files Arduino hardware arduino avr variant mega16
并复制板.txt到C: Program Files Arduino hardware arduino avr
现在我们将board.txt和pin_arduino.h放入arduino安装文件夹,并且我们已经将arduino代码用于ATmega16
第4步:让我们尝试一下
现在我们可以使用眨眼LED之类的示例
我将led连接到引脚16 (PORTC.0)和地面,我使用USBASP上传程序
我仍然不明白为什么延迟要花这么长时间,但我想是因为在Arduino UNO中使用12Mhz晶振时使用16Mhz
我附上我的Minimumsystem原理图
对不起,我的英语不好
我通过在非Arduino AVR微控制器中使用Arduino代码实现了这一点。 》非常感谢Sudar是hardwarefun的后写作者,Raka Fahriza是Cameraman
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !