Ardunio编程时务必注意定义引脚的输出方式
今天在編寫Stm32 Ardunio控制L6203時發現的引腳信號輸出導致STM32死機。
ARDUNIO 引腳定義如下
#define Speeker_Out PB15 //蜂鳴器信號輸出數字引腳38
#define DCREALY_ON PB14 //輸出信號繼電器低電平打開 高電平時斷開繼電器
#define DCMotorer_EN PA7 //L6203-PIN(11) ENABLE 高電平有效
#define L6203_IN1 PB0 //L6203-PIN(5) IN1
#define L6203_IN2 PA6 //L6203-PIN(7) IN2
#define BOARD_LED_PIN PC13 //定義板載LED(呼吸燈,運行中信號)為數字引腳
實際編寫時將引腳的輸出信號類型搞錯了
void Stop_DC_Motor() { //停止直流馬達
analogWrite(L6203_IN1, 0);
analogWrite(L6203_IN2, 0);
analogWrite(DCMotorer_EN, LOW);
delay(500);
digitalWrite(DCREALY_ON, HIGH); //高電平時中斷對電機的能量供應
digitalWrite(Speeker_Out, HIGH);
delay(200);
digitalWrite(Speeker_Out, LOW);
}
只要執行停止馬達信號輸出剛開始沒什么問題,但多執行幾次就死機了。檢查了大約2個小時才發現本該是digitalWrite(DCMotorer_EN, LOW);寫錯了。
雖然問題找到,但沒有深入了解為什么有時確能正確執行。
總結
以上是生活随笔為你收集整理的Ardunio编程时务必注意定义引脚的输出方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在linux用utorrent下载文件,
- 下一篇: 英语学习-三河古镇