打印
[AVR单片机]

AVR GCCEEPROM警告,请大家看一下,共享!

[复制链接]
1749|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dc42733255|  楼主 | 2011-3-17 15:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dc42733255 于 2011-3-17 15:59 编辑

一个测试读写EEPEOM程序:
#include<avr/io.h>
#include<avr/eeprom.h>
int main(void)
{
DDRB=0xff;
unsigned char val;
do
{eeprom_busy_wait();
eeprom_write_byte((void *)0xf1,0xb4);
eeprom_busy_wait();

val=eeprom_read_byte((void*)0xf1);
PORTB=val;
}while(1);
}
如果参数不加(void *)编译会出现了警告:warning: passing argument 1 of 'eeprom_read_byte' makes pointer from integer without a cast
我在网上看到其他编程后加了(void *),编译正常了,结果也测试正常了。
请问为什么要加(void *)。

相关帖子

沙发
airwill| | 2011-3-20 07:08 | 只看该作者
这是 C 编译器的对变量的类型控制.

看看 EPPROM.h 里怎么申明这个函数的:
    eeprom_read_byte (const uint8_t *addr);
想必应该明白了吧?

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
dc42733255 + 1
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

101

帖子

0

粉丝