|
1
3
首先,您似乎正在使用avr gcc编译器。在为嵌入式设备提问时,您总是需要说明您正在使用的编译器。 我现在将尽力帮助您理解代码的错误以及解决方案的工作原理。您定义的函数:
在RAM中需要一个字符串指针。你用过
你试着在函数中传递它:
它只是把一个无效的地址传递给它,这样就会显示出胡言乱语。如果您像在解决方案中那样先将其复制到RAM,那么它可以正常工作:
如果要定义将直接读取ROM字符串的函数,可以这样做:
注意
所有这些和更多都被很好地解释了 here . 我也建议你试试 AVR Freaks 这些问题的论坛。在这些问题上,那里的人肯定比StackOverflow用户更有经验,并且总是乐于提供帮助。 |
|
|
2
1
我看不出你的代码有什么明显的问题(不是说我知道如何与Atmega32对话)。尝试在调试器下运行它并打印
|
|
3
1
这对我有效:
在代码中插入
|
|
4
1
这适用于我的Atmel控制器(尽管我不知道为什么):
首先,必须通过PROGMEM from将文本添加到ROM中
然后将文本复制到控制器RAM中的缓冲区:
现在
|