看来学到这的人很少了,学过51的,学这个 很容易上手,就很多库和函数 包装后直接用这就是用 arduino的优点,不过没有玩过单片机的同学应该会不明所以那些 函数怎么来,串口 EEPROM等,不说了 继续学习。
慢、节奏 发表于 2014-8-13 15:56 static/image/common/back.gif
看来学到这的人很少了,学过51的,学这个 很容易上手,就很多库和函数 包装后直接用这就是用 arduino的优点 ...
很多ARDUINO的玩家并科班出生,EPROM,EEPROM(或者叫EEPROM),紫外线可擦rom这些都不会知道的
更不会知道“取模”其实就是“取余”的意思
比如 24取3的模 就是 0
他们也不会知道溢出是啥概念。
毕竟高级语言基本上不用太多的考虑这些问题
(比如TC 只要考虑溢出就好 EPROM根本在X86机器上默认是不能用的)
话说当年学mcs51单片机 真辛苦 。各种跳转(JZ JNZ JMP...........)就转的晕头转向了.
b9ss 发表于 2014-6-30 11:22 static/image/common/back.gif
现学现用 想着这个不智能的IDE应该无法判断溢出,就试了试,结果发现EEPROM的实际寻址方式是用最大有效值取 ...
其实EEPROM楼主的描述有点像U盘 。是的 本质是差不多的
但是实际使用是不一样的
EEPROM不是用来存放代码的 常见的都是用来存放各种设置
按照比特存放 比如第一字节的数字代表什么 第二字节代表什么
其实1K存放参数设置是完全够了的。 需要更多设置位的情况很少 毕竟AVR单片机性能孱弱 程序用到的参数有限
还有就是 可以扩展片外的EEPROM. 容量更大 丰俭由人。
弘毅 发表于 2013-9-8 21:52 static/image/common/back.gif
换用1.0.4或者1.0.1的IDE试试。。。1.0.5的IDE出现好多代码编译后运行异常问题。。。估计官方在里面改了很 ...
请问lz,除了更换IDE版本外还有其他的办法解决吗。我也用的1.0.5。也是只能读取1次。之后就全是0.
fairsky 发表于 2013-9-6 17:57 static/image/common/back.gif
请我的板子怎么写入值后怎么只能读取一次呢??后面就变成了0.怎么回事?
你的问题解决了吗?怎么解决的?是换了一下IDE的版本吗?我出现的问题跟你的问题一样。而且我用的也是1.0.5版本。
蓝色斗鱼 发表于 2013-10-17 19:55 static/image/common/back.gif
感觉是Serial.parseInt()留有未读完的数据(可能是串口工具的问题),下次串口有效,又读了一次,读出是零 ...
“请问我的板子怎么写入值后怎么只能读取一次呢??后面就变成了0.怎么回事?”
这个问题,怎么解决?能说的洗一点吗?我还不理解你所说的。
小小东熙 发表于 2014-11-5 10:19 static/image/common/back.gif
“请问我的板子怎么写入值后怎么只能读取一次呢??后面就变成了0.怎么回事?”
这个问题,怎么解决?能 ...
发一下代码看看
大神如何写一个存一个,而且把前面的那个数毁掉比如第一次输出1第二次输出12第三次是123
大神,我是新手,我想实现串口发一个数据保存一个发第二个数据读出来的是第一个和 第二个发第三个数据读出来 第一 第二 第三个数据....怎么弄啊?
蓝色斗鱼 发表于 2014-11-7 22:11 static/image/common/back.gif
发一下代码看看
代码跟楼主的代码一致,我的串口监视器里只能读出一次我输入的值我输入的值。
loop函数改成这样试试:
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.parseInt();//读取串口传入的下一个有效整数,把该整数赋值给incomingByte变量
EEPROM_write(0,incomingByte) //把incomingByte变量从0地址位开始写入EEPROM
if (Serial.available() > 0) Serial.parseInt();
}
EEPROM_read(0,incomingByte) //从0地址位开始读取EEPROM,把值写入变量incomingByte
Serial.println(incomingByte); //通过串口输出
delay(1000);
}
蓝色斗鱼 发表于 2014-11-17 21:35 static/image/common/back.gif
loop函数改成这样试试:
void loop() {
嗯,可以了,输入数字读取是正确的。
但是,当输入的是纯数字的时候,读取是正确的。如果输入的是字母的话,读出的全是0.
纳尼?EEPROM不是I2C总线型的?
这个很好,认真学习下。
大侠,我拷贝代码后,编译出现强制转换错误??!
invalid conversion from 'byte* {aka unsigned char*}' to 'uint8_t {aka unsigned char}' [-fpermissive]
请问有人遇到这个问题吗