Lkck8210 发表于 2025-2-7 16:30:43

bbgjtotg 发表于 2025-2-7 13:26
代码如下
#include"STC8Hxxx.h"
//#include "stc8h.h"


用Printf不用重定向putchar吗?

bbgjtotg 发表于 2025-2-7 16:42:45

Lkck8210 发表于 2025-2-7 16:30
用Printf不用重定向putchar吗?

不用,串口中断        TI=1;加上后,直接头文件引入stdio.h就行;

bbgjtotg 发表于 2025-2-7 16:43:50

Ayb_ice 发表于 2025-2-7 14:33
那说明你代码有问题,

那应该是串口中断导致的了,去除掉串口输出后,程序计数正常,IO口反转电平正常

Lkck8210 发表于 2025-2-7 16:51:16

bbgjtotg 发表于 2025-2-7 16:42
不用,串口中断        TI=1;加上后,直接头文件引入stdio.h就行;

??
另外,你提供的代码也没有SBUF的写入
如何把数据输出的串口?

晓飛飛 发表于 2025-2-7 16:59:55

printf不是中断方式,所以没有什么优先级的概念,而且会被其它中断随时打断。

Ayb_ice 发表于 2025-2-7 17:04:59

Lkck8210 发表于 2025-2-7 16:51
??
另外,你提供的代码也没有SBUF的写入
如何把数据输出的串口?

KEIl有默认的代码使用串口输出字符,putc函数,可以替换成自己的代码

bbgjtotg 发表于 2025-2-7 17:21:56

Lkck8210 发表于 2025-2-7 16:51
??
另外,你提供的代码也没有SBUF的写入
如何把数据输出的串口?

但是这样确实可以输出,不信你可以试试

bbgjtotg 发表于 2025-2-7 17:22:19

晓飛飛 发表于 2025-2-7 16:59
printf不是中断方式,所以没有什么优先级的概念,而且会被其它中断随时打断。 ...

那应该是串口中断导致的了

bbgjtotg 发表于 2025-2-8 08:22:12

小陈数码 发表于 2025-2-7 18:49
应该是你的代码没写对,变量写了自加代码肯定会自加吧。

去掉printf,io电平正常反转,加上就不对了

Lkck8210 发表于 2025-2-9 20:39:10

Ayb_ice 发表于 2025-2-7 17:04
KEIl有默认的代码使用串口输出字符,putc函数,可以替换成自己的代码

问题就是没看到他的"自己的代码"
页: 1 [2] 3
查看完整版本: 请问使用stdio头文件后,串口用printf打印数据是否拥有最高中断优先级?