gpt4 book ai didi

c - AVR PROGMEM 读取垃圾而不是字符串

转载 作者:行者123 更新时间:2023-11-30 17:15:55 26 4
gpt4 key购买 nike

我在从程序内存读取字符串时遇到一些问题:

const char str[] PROGMEM = "Test string here\r\n";

这是我的打印例程:

/** Send string over UART */
void uart_puts(char* str)
{
while (*str) {
uart_tx(*str++);
}
}

/** Send progmem string over UART */
void uart_puts_pgm(const char* str)
{
char c;
while (0 != (c = pgm_read_byte(&str))) {
uart_tx(c);
str++;
}
}

普通的工作得很好,但是程序会打印无限的0xFF流。哪里错了?

我以前使用过 progmem,它总是有效..我似乎找不到这里的问题。

最佳答案

哦,我不应该取消引用那里的指针...

pgm_read_byte(&str)

应该只是

pgm_read_byte(str)

现在正在运行。

关于c - AVR PROGMEM 读取垃圾而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29832297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com