keil5.35 选择ARM COMPILER 6 选择GNU99 在网上找了一些**,说到 要把 int fputc(int ch, FILE *f)替换成 int _write(int fd, char *ptr, int len),但是现在有一些小问题,就是编译后是不会报错的,但是程序没有运行,仿真的时候点run,会停顿在 0x08001CE8 BEAB BKPT 0xAB,多点几次run就会运行起来,并且打印出来指定的数据。求大佬指点 GNU99下串口重定义还有哪些需要添加的。 - int _write(int fd, char *ptr, int len)
- {
- int i = 0;
- /*
- * write "len" of char from "ptr" to file id "fd"
- * Return number of char written.
- *
- * Only work for STDOUT, STDIN, and STDERR
- */
- if (fd > 2)
- {
- return -1;
- }
- while (*ptr && (i < len))
- {
- usart_send_blocking(USART1, *ptr);
- if (*ptr == '\n')
- {
- usart_send_blocking(USART1, '\r');
- }
- i++;
- ptr++;
- }
- return i;
- }
|