STM32单片机的范例程序,不知道怎么报错了

第一次接触单片机,还在摸索

希望能有人可以给个建议,我按照正点原子的教程一步步进行,并重看了两遍😞

img

这个错误提示是什么?

【以下回答由 GPT 生成】

首先,我看到你的代码中存在一些错误。你缺少了一些头文件的引用,并且在 printf 语句中使用了错误的格式选项。我将解释这些错误,并提供具体的解决方案。

  1. 缺少头文件的引用 你在代码中使用了 delay.husart.h 的函数,但是没有引入这两个头文件。你需要在代码的开头添加以下两行:
#include "./SYSTEM/delay/delay.h"
#include "./SYSTEM/usart/usart.h"
  1. 错误的格式选项 在 printf 语句中,你使用了错误的格式选项 %a\x。这两个选项在 C 语言中是无效的,你需要将其修正为正确的选项。
printf("t:%d\n", t);

这样可以将 t 的值以十进制的形式打印出来,并在结尾添加一个换行符。

此外,你还需要修复一个语法错误。在 t++ 的代码行中,你忘记了加上分号 ;。修正后的代码如下:

#include "./SYSTEM/syS/sy3.h"
#include "./SYSTEM/usart/usart.h"
#include "./SYSTEM/delay/delay.h"

int main(void) {
    uint8_t t = 0;

    sys_stm32_clock_init(9);  // 设置时钟,72MHz
    delay_init(72);  // 延时初始化
    usart_init(72, 5200);  // 串口初始化

    while(1) {
        printf("t:%d\n", t);
        delay_ms(500);
        t++;
    }
}

请按照上述方法进行修改并重新编译运行你的代码,应该可以解决问题。如果你遇到了其他错误,请提供错误信息和相关的代码以便我进一步帮助你。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^