Arduino中PC13不能直接写数字量吗?delay();被yield();影响如何解?

arduino ide2.0 

板子是stm32f103c8t6的bluepill小蓝板,吹了芯片焊上的ch32v103/203c8t6.

Blink点灯,


#define LED_BUILTIN PC_13

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

}


void loop() {

  digitalWrite(LED_BUILTIN, HIGH);  //拉高

  delay(1000);                      

  digitalWrite(LED_BUILTIN, LOW);   // 拉低

  delay(1000);                     

}


使用delay();延时会报错

wiring_time.c:(.text.delay+0xe): undefined reference to `yield'

如果仅仅只拉高或者拉低,去掉其它3行,倒是能编译下载,

但万用表实测pc13约1.8v,无论写高低电平不变。

PC14,PC15也不能直接当数字输出引脚使用,请问哪里需要更改呢?


 另,yield();已经在u8g2点阵屏库不兼容时反馈过,希望大神们能抽时间解决。沁恒的mcu硬件真的不差,就是生态对萌新不太友好。没有学过stm32编程.电子转arduino.

个人信息保护,已隐藏.麻烦了!

为了延时,我尝试改为

delayMicroseconds(1000000);

然后编译就通过了,下载后,发现PC13~15不能正常当做数字输出引脚使用,其他引脚正常。



您好,PC13-15用作普通IO的配置可以参考下图1,关于PC13-15的使用注意事项参考下图2,禁止用于LED驱动。

image.png

图1

image.png

图2


ok



图2划红线的地方,天问51软件可以直接使用pc13,点亮led,


只有登录才能回复,可以选择微信账号登录