Arduino STM32F103C8T6(BluePill) 教程六 STM32 IO操作(LED灯蜂鸣器继电器ADC/PWM)
1.IO操作的“pinMode()”函数
形式:void pinMode(uint8 pin,WiringPinMode mode)
如: viod pinMode(PC13,OUTPUT);
比如:操作LED闪烁:
void setup() {
// PC13->output.
pinMode(PC13, OUTPUT);
}
void loop() {
digitalWrite(PC13, HIGH); // turn the LED off (Blue pill 原理图PC13高电平灭)
delay(1000); // 等待1秒
digitalWrite(PC13, LOW); // turn the LED on (Blue pill 原理图PC13低电平亮)
delay(1000); // wait for a second
}
2.这里用到了”digitalWrite()“
形式:unit32 digitalWrite(uint8 pin,uint8 value)
如: digitalWrite(PC13, HIGH);
"HIGH"与"LOW"可以用”1“,”0“代替。
3.”digitalRead()“函数
形式:unit32 digitalRead(uint8 pin)
参数:pin为引脚编号数值为0或1。
如: digitalRead(PA0);
输入信号在0-1.16V时返回0,1.83-3.3V返回1,1.16V-1.83V不确定返回0还是1
4."togglePin()"翻转
形式:unit32 togglePin(uint8 pin)
参数:pin为引脚编号
如: togglePin(PC13);
5.模拟信号输入
形式:unit analogRead(uint8 pin)
参数:pin为引脚编号
如: togglePin(PA2);
5.PWM输出
形式:void pwmWrite(uint8 pin,unit16 duty_cycle)
void analogWrite(uint8 pin,unit16 duty_cycle)
参数:pin为引脚编号
duty_cycle为占空比参数(0-65535)
如: pwmWrite(PA8,65535);
"analogWrite()"是为兼容Arduino而准备的,功能与”pwmWrite()“一致。
占空比=duty_cycle / 65535 x100%