碰巧兩個款都用過,可以答一答。
但是答之前還是忍不住吐槽一下,都有電腦了還要用手機拍照,請善用截圖,而且論壇發貼可以粘代碼段的,最好不要貼代碼的圖片,這樣大家看都方便。
看起來你的STM8程序也是用庫函數實現的,那移植到STM32上就不要用寄存器,最好也用庫函數,很容易找到對應的庫函數(官方叫標準外設庫)。
但要注意STM8分幾種型號,用的庫函數都不一樣
比如同樣是GPIO置位的操作
在STM8L10X系列的庫函數中是下面的形式:
- GPIO_SetBits( GPIOA, GPIO_Pin_2 );
復制代碼
在STM8S系列的庫函數中則是下面的形式:
- GPIO_WriteHigh(GPIOA, GPIO_PIN_2);
復制代碼
所以首先你需要明確STM8的型號,知道用的是哪個庫。
接下來就是找對應的STM32的庫,也要找對應你用的型號的庫函數。
比如還是上面的操作,STM32F10x的庫函數里也是:
- GPIO_SetBits( GPIOA, GPIO_Pin_2 );
復制代碼
但是STM32F10x在GPIO初始化時還需要配置時鐘等等,跟STM8又有許多區別,僅僅對應修改是不夠的。
這些庫函數在st官網都可以下載,里面都有說明文檔。
當然,在文檔里你會發現STM32比STM8多了很多東西,這時候對應的去查某個外設的用法例子就可以明白了,或者再到論壇上來問。
|