晶振一定要选12M的。我一直都在用。
我手头有一根线是这一款:http://item.taobao.com/item.htm?spm=2013.1.0.112.589a33&id=4258954610
可以刷boot以及程序吗? wasdpkj 发表于 2012-10-8 19:31 static/image/common/back.gif
感谢!熔丝位按照你发的网址没问题吗?另外,mega16的isp烧程序大概的方法能否分享一下,感谢
这个周末我不忙的话,我来写一个教程吧,图上的熔丝位有点问题。我锁了一个片子。 wasdpkj 发表于 2012-10-8 19:47 static/image/common/back.gif
我手头有一根线是这一款:http://item.taobao.com/item.htm?spm=2013.1.0.112.589a33&id=4258954610
可 ...
可以,我用的就是这种。 本帖最后由 wasdpkj 于 2012-10-8 23:46 编辑
我试了你的19楼道boot,拷入hardware文件夹,用arduino-1.0.1,普通编译没问题,也实现了功能
但定义模拟端口,比如A0,就会报错
sketch_oct08b:11: error: 'A0' was not declared in this scope
这怎么解决? wasdpkj 发表于 2012-10-8 23:45 static/image/common/back.gif
我试了你的19楼道boot,拷入hardware文件夹,用arduino-1.0.1,普通编译没问题,也实现了功能
但定义模拟端 ...
接着ls,我看到另一位用16做arduino的朋友(http://www.subtours.com/ralph/theory/atmega16witharduino.html),采用自定义引脚的方式:
http://www.subtours.com/ralph/downloads/texts/atmega16_arduino.pdf
,您19楼分享的压缩包,我看了相应的引脚配置,好像是调用了leonardo的,这不是这个造成模拟角编译出错呢?
先睡了,明天再等答复,非常感谢
不要写A0,直接对应图上的写1 2 3什么的。 nengcai0313 发表于 2012-10-9 00:16 static/image/common/back.gif
不要写A0,直接对应图上的写1 2 3什么的。
我昨天也在一个一个试试引脚呢,但这样可以实现模拟端口吗?比如温度监控,可以移植吗?
另外,哪几个口有pwm功能?
RE: 我用Mega16 DIY的Arduino板,板子已经搞好,程序还有问题。
wasdpkj 发表于 2012-10-9 07:24 static/image/common/back.gif我昨天也在一个一个试试引脚呢,但这样可以实现模拟端口吗?比如温度监控,可以移植吗?
另外,哪几个口 ...
带oc的口有pwm输出,建议你看看mega16的引脚说明。 nengcai0313 发表于 2012-10-9 12:44 static/image/common/back.gif
带oc的口有pwm输出,建议你看看mega16的引脚说明。
恩 谢谢,那模拟端口呢? wasdpkj 发表于 2012-10-9 13:02 static/image/common/back.gif
恩 谢谢,那模拟端口呢?
模拟输入是0-7 nengcai0313 发表于 2012-10-9 21:18 static/image/common/back.gif
模拟输入是0-7
:lol太谢谢你了,您定义这个引脚编号是不是要按照bootloaders定义才能正常工作? 本帖最后由 wasdpkj 于 2012-10-11 16:12 编辑
今天编译遇到了问题,程序是一个简单的LM35检测温度输出到LCD1602显示的:
#include <LiquidCrystal.h> //调用arduino自带LiquidCrystal库
LiquidCrystal lcd(13, 12, 8, 9, 10, 11);//设置接口
float tem10 = 0; //温度-换算
long n=0; //设置n为长整数变量
/*=================0-初始化===================*/
void setup()
{
analogReference(INTERNAL); //调用板载1.1V基准源
lcd.begin(16, 2); //初始化LCD
lcd.print("=====PKJ====="); //使屏幕显示文字
delay(1000); //延时
}
/*==================0-函数====================*/
void loop()
{
/*==================1-值=======================*/
n = analogRead(0); //读取A0口的电压值
delay(50); //控制刷新速度
tem10 = (n * (1.1 / 1024.0*1000)); //使用浮点数存储温度数据
floattem=tem10/10; //温度-实际
/*=================2-显示=====================*/
{
lcd.clear(); //清屏
lcd.print("NowTem:"); //使屏幕显示文字
lcd.setCursor(8, 0) ; //设置光标位置
lcd.print((long) tem10 / 10); //显示温度整数位
lcd.print("."); //显示小数点
lcd.print( (long)tem10 % 10); //显示温度小数点后一位
lcd.print((char)223); //显示o符号
lcd.print("C"); //显示字母C
delay(60); //刷新速度
}
}
board选用mega16编译就会报错(选其他就没问题):
In file included from sketch_oct11a.cpp:2:
D:\arduino-1.0.1\libraries\LiquidCrystal/LiquidCrystal.h:82: error: conflicting return type specified for 'virtual size_t LiquidCrystal::write(uint8_t)'
D:\arduino-1.0.1\hardware\M2Arduino\cores\M2Arduino/Print.h:40: error: overriding 'virtual void Print::write(uint8_t)'
---------------------------
换了0022版本ide编译到是没问题了,可1602显示乱码。。。 wasdpkj 发表于 2012-10-11 00:36 static/image/common/back.gif
今天编译遇到了问题,程序是一个简单的LM35检测温度输出到LCD1602显示的:
很多的库都是有问题的,要自己改。 nengcai0313 发表于 2012-10-12 14:40 static/image/common/back.gif
很多的库都是有问题的,要自己改。
:Q 确实不会改 wasdpkj 发表于 2012-10-11 00:36 static/image/common/back.gif
今天编译遇到了问题,程序是一个简单的LM35检测温度输出到LCD1602显示的:
我的atmega16a和你一样,控制IO LED 没问题,遇到库函数调用就报错,错误信息也一样(换一个板子编译就通过),不知到是不是指令集的问题,至今没有搞定 。
在官方论坛问过这个问题,有回复说是建议我升级m2arduino的core到最新版本,可是没地方能找到最新的atmega16版本。我那几块MEGA16还放那里落灰呢。楼主找到解决方案告诉我声啊。