stm8用库函数初始化GPIO引脚,与stm32调用库的方式不一样? 为什么STM32同样GPIO初始化的程序换到其他引脚也可以用
stm8\u4e0estm32\u5e93\u51fd\u6570\u76f8\u540c\u5417\uff1f\u4e0d\u4e00\u6837\u7684\uff01\u5e93\u51fd\u6570\u662f\u6839\u636e\u5bc4\u5b58\u5668\u5199\u7684\uff01\u800cstm8\u548c32\u7684\u5bc4\u5b58\u5668\u4e0d\u4e00\u6837 \uff0c\u6240\u4ee5\u5e93\u51fd\u6570\u4e5f\u662f\u4e0d\u4e00\u6837\u7684
\u4e0d\u592a\u7406\u89e3\u4f60\u8bf4\u7684\u540c\u6837\u7684\u7a0b\u5e8f\u662f\u4ec0\u4e48\u610f\u601d\u3002\u4e0d\u77e5\u9053\u8fd9\u6837\u80fd\u4e0d\u80fd\u56de\u7b54\u4f60\uff1a
\u56e0\u4e3aSTM32\u7684GPIO\u5728\u8bbe\u8ba1\u4e0a\u9664\u5730\u5740\u5916\u662f\u5b8c\u5168\u4e00\u81f4\u7684\u3002
\u540c\u6837\u7684GPIO\u521d\u59cb\u5316\u7a0b\u5e8f\uff0c\u5e93\u51fd\u6570\u6839\u636e\u4f60\u9009\u62e9\u914d\u7f6e\u7684GPIO\u4e0d\u540c\uff08GPIOA\uff0cGPIOB\uff09\u6765\u51b3\u5b9a\u5199\u5165\u5bc4\u5b58\u5668\u7684\u5730\u5740\u3002
#define Relay2 GPIO_PIN_3
GPIO_Init(GPIOA,(GPIO_Pin_TypeDef)(Relay1|Relay2),GPIO_MODE_OUT_PP_LOW_SLOW);
用宏定义可方便以后修改
你的初始化方式我使用过,没有问题啊。
不懂爱,查查数据手册吧,函数裤手册
绛旓細1. 鍒濆鍖宸ョ▼锛 - 鍦↙IB鏂囦欢澶逛腑锛屽鍒STM8瀹樻柟搴撳嚱鏁锛屽寘鎷琲nc鍜宻rc瀛愮洰褰曘 - 灏哠TM8涓柇鍏ュ彛鏂囦欢stm8s_it.c鍜宻tm8s_it.h绉诲姩鍒癠SR锛屽畠浠槸涓柇澶勭悊鐨勬牳蹇冪粍浠躲 - 灏唖tm8s_conf.h娣诲姞鍒癓IB锛屼綔涓哄姛鑳藉簱鐨勯厤缃ご鏂囦欢銆2. 閰嶇疆IAR宸ョ▼锛 - 鍦↖AR涓紝鏂板缓椤圭洰骞舵坊鍔爏tm8s_...
绛旓細GPIO_Init(GPIOA,(GPIO_Pin_TypeDef)(Relay1|Relay2),GPIO_MODE_OUT_PP_LOW_SLOW);鐢ㄥ畯瀹氫箟鍙柟渚夸互鍚庝慨鏀
绛旓細杈撳嚭鐨勯鐜囦笉涓鏍凤紝涔熷氨鏄緭鍑虹殑鑳藉姏涓嶅悓锛屽父鐢ㄥ湪閫夐氶珮閫熺數璺
绛旓細stm8l152鐨刬2c鍒濆鍖涓轰粈涔堟湁闂鍟? 15 GPIO_Init(GPIOC,GPIO_Pin_0,GPIO_Mode_Out_OD_HiZ_Slow);GPIO_Init(GPIOC,GPIO_Pin_1,GPIO_Mode_Out_OD_HiZ_Slow);CLK_PeripheralClockConfig(CLK_Peripheral_I2C1,ENABLE);I2C_Cmd(... GPIO_Init(GPIOC,GPIO_Pin_0,GPIO_Mode_Out_OD_HiZ_Slow); GPIO_...
绛旓細鎴戣繖閲岀粰涓涓偣浜竴涓伅鐨勭▼搴忕粰浣犲弬鑰冿細defineLEDS_PORT(GPIOH)defineLED1_PIN(GPIO_PIN_3)voidmain(void){ GPIO_Init(LEDS_PORT,LED1_PIN,GPIO_MODE_OUT_PP_LOW_FAST);while(1){ GPIO_WriteHigh(LEDS_PORT,Leds);} } 杩欓噷鍒╃敤浜STM8搴撳嚱鏁锛岃寰楁妸STM8鐨勫簱鍖呭惈杩涘伐绋嬶紒
绛旓細琛19浣庡姛鑰楁ā寮忓STM8S鐨凣PIO鍙鐨勫奖鍝 妯″紡 鎻忚堪 绛夊緟(Wait) 瀵笽/O鍙f棤褰卞搷銆傚閮ㄤ腑鏂彲浠ヤ娇MCU閫鍑虹瓑寰(Wait)妯″紡 鍋滄満(Halt) 瀵笽/O鍙f棤褰卞搷銆傚閮ㄤ腑鏂彲浠ヤ娇MCU浠庡仠鏈(Halt)妯″紡鍞ら啋 娉ㄦ剰锛氬鏋淧A1/PA2琚敤鏉ヨ繛鎺ュ閮ㄨ皭鎸櫒锛屼负浜嗙‘淇濆湪HALT妯″紡涓嬫湁鏈浣庡姛鑰楀繀椤婚厤缃甈A1鍜孭A2涓哄甫涓婃媺...
绛旓細7銆佸鐢ㄥ紑婕忚緭鍑恒佸鐢ㄦ帹鎸借緭鍑猴細鍙互鐞嗚В涓GPIO鍙琚敤浣滅浜屽姛鑳芥椂鐨勯厤缃儏鍐碉紙鍗冲苟闈炰綔涓洪氱敤IO鍙浣跨敤锛夈傚湪STM32涓夌敤IO妯″紡锛屼笅闈㈡槸鍙傝冪綉涓婄殑鎬荤粨涓涓嬨傦紙1锛 娴┖杈撳叆_IN_FLOATING 鈥斺旀诞绌鸿緭鍏ワ紝鍙互鍋欿EY璇嗗埆锛孯X 锛2锛夊甫涓婃媺杈撳叆_IPU鈥斺擨O鍐呴儴涓婃媺鐢甸樆杈撳叆 锛3锛夊甫涓嬫媺杈撳叆_IPD鈥斺 IO...
绛旓細include "STM8S105_CLOCK.h"typedef unsigned char u8;typedef unsigned int u16;u16 value;/ 鍑芥暟鍚 : void SystemInit(void)鍔熻兘鎻忚堪: 绯荤粺鍒濆鍖 鍑芥暟璇存槑: 绯荤粺鍏ㄥ眬鍒濆鍖 / void SystemInit(void){ SystemClock_Init();CLK_PCKENR1 |= 0x60; //浣胯兘TIM2涓嶵IM3涓庝富棰戣繛鎺 PD_CR2...
绛旓細浠ヤ笅鏄浣跨敤STM8S鍜孋璇█寮鍙戠殑绀轰緥浠g爜锛歚``include "stm8s.h"define LED1_PIN GPIO_PIN_4 define LED2_PIN GPIO_PIN_5 define S2_PIN GPIO_PIN_2 define S3_PIN GPIO_PIN_3 define S4_PIN GPIO_PIN_6 void main(void){ /* 鍒濆鍖朑PIO */ GPIO_Init(LED1_PORT, LE...
绛旓細include "STM8S103K.h" //澶存枃浠讹紝瀹氫箟鍚勫瘎瀛樺櫒鐨勫湴鍧 void main(void){ /*瀹氭椂鍣ㄥ熀纭璁剧疆*/ CLK_CKDIVR= 0x00; //鍐呴儴16M鏃堕挓涓嶅垎棰 TIM2_PSCR = 0x00; //瀹氭椂鍣2棰勫垎棰戠郴鏁颁负1 TIM2_CR1 = 0x01; //鍐呴儴璁℃暟鍣ㄤ娇鑳斤紱TIM2_ARRH = 0x01;//0140锛320鍒嗛锛16M/320=50K锛屽疄...