【STM 8 L】STM 8 Lの補正ライブラリ関数GPIO_WriteBitのBug
1941 ワード
このブログの最終更新日時は2016年11月18日、02:54です.
一、概要
本稿ではSTM 8 Lのライブラリ関数GPIO_を修正します.WriteBitのBugです
二、実験プラットフォーム
コンパイルソフトウェア:IAR for STM 8 1.42.2
ハードウェアプラットフォーム:stm 8 l 101 f 3 p 6開発ボード
エミュレータ:ST-LINK
ライブラリ関数バージョン:STM 8 L_STMTouch_Lib_V 1.1.0
三、著作権声明
博主:甘いメロン
声明:水を飲んで井戸を掘った人を忘れないで、転載して出所を明記して下さい.
原文の住所:http://blog.csdn.NET/feilusia
連絡先:[email protected]
マクワウリBLEのCC 2541群:12442605
マクワウリBLEのCC 2640群:557278427
マクワウリBLEのAndroid群:54146202
マクワウリマクロプロセッサSTM 8/STM 32群:164311667
甘いマクワウリのお店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i
四、バグ現象
GPIO_を通じてWriteBit関数はIOのレベルを制御できません.
五、実験ステップ
1、GPIO_を置換するWriteBit関数(stm 8 l 10 xupio.cで)
関数を修正したら、IO口は正常に引っ張られて低くなります.
それで実験は成功した.
一、概要
本稿ではSTM 8 Lのライブラリ関数GPIO_を修正します.WriteBitのBugです
二、実験プラットフォーム
コンパイルソフトウェア:IAR for STM 8 1.42.2
ハードウェアプラットフォーム:stm 8 l 101 f 3 p 6開発ボード
エミュレータ:ST-LINK
ライブラリ関数バージョン:STM 8 L_STMTouch_Lib_V 1.1.0
三、著作権声明
博主:甘いメロン
声明:水を飲んで井戸を掘った人を忘れないで、転載して出所を明記して下さい.
原文の住所:http://blog.csdn.NET/feilusia
連絡先:[email protected]
マクワウリBLEのCC 2541群:12442605
マクワウリBLEのCC 2640群:557278427
マクワウリBLEのAndroid群:54146202
マクワウリマクロプロセッサSTM 8/STM 32群:164311667
甘いマクワウリのお店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i
四、バグ現象
GPIO_を通じてWriteBit関数はIOのレベルを制御できません.
五、実験ステップ
1、GPIO_を置換するWriteBit関数(stm 8 l 10 xupio.cで)
//******************************************************************************
//name: GPIO_WriteBit
//introduce: GPIO
//parameter: GPIOx: (x = A to D)
// GPIO_Pin: GPIO_Pin_0~GPIO_Pin_7
// GPIO_BitVal: SET or RESET
//return: none
//author:
//email: [email protected]
//QQ group STM8/STM32(164311667)
//changetime: 2016.11.18
//******************************************************************************
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, BitAction GPIO_BitVal)
{
/* Check the parameters */
assert_param(IS_GPIO_PIN(GPIO_Pin));
assert_param(IS_STATE_VALUE(GPIO_BitVal));
if (GPIO_BitVal != RESET)
{
//SetBit(GPIOx->ODR, GPIO_Pin);//BUG ,GPIO_Pin , SetBit 。
GPIOx->ODR |= GPIO_Pin;
}
else
{
//ClrBit(GPIOx->ODR, GPIO_Pin);//BUG ,GPIO_Pin , SetBit 。
GPIOx->ODR &= (uint8_t)(~GPIO_Pin);
}
}
六、実験結果関数を修正したら、IO口は正常に引っ張られて低くなります.
それで実験は成功した.