欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stm8的代碼怎么移植到stm32上? [打印本頁]

作者: 吃個大西瓜    時間: 2018-9-4 14:06
標題: stm8的代碼怎么移植到stm32上?
如題,
作者: duker    時間: 2018-9-4 16:34
要修改相關寄存器哦
作者: 吃個大西瓜    時間: 2018-9-4 17:21
duker 發表于 2018-9-4 16:34
要修改相關寄存器哦

這種改法可以嗎?注釋掉的是原代碼

IMG_20180904_172050.jpg (70.69 KB, 下載次數: 34)

IMG_20180904_172050.jpg

作者: 吃個大西瓜    時間: 2018-9-4 19:14
吃個大西瓜 發表于 2018-9-4 17:21
這種改法可以嗎?注釋掉的是原代碼

這壓圖。。。就是用GPIO_SetBits(GPIOB,Pin_1)代替PB_ODR|=BIT1,可以嗎
作者: howlclat    時間: 2018-9-5 11:09
碰巧兩個款都用過,可以答一答。
但是答之前還是忍不住吐槽一下,都有電腦了還要用手機拍照,請善用截圖,而且論壇發貼可以粘代碼段的,最好不要貼代碼的圖片,這樣大家看都方便。
看起來你的STM8程序也是用庫函數實現的,那移植到STM32上就不要用寄存器,最好也用庫函數,很容易找到對應的庫函數(官方叫標準外設庫)。
但要注意STM8分幾種型號,用的庫函數都不一樣
比如同樣是GPIO置位的操作
在STM8L10X系列的庫函數中是下面的形式:
  1. GPIO_SetBits( GPIOA, GPIO_Pin_2 );
復制代碼

在STM8S系列的庫函數中則是下面的形式:
  1. GPIO_WriteHigh(GPIOA, GPIO_PIN_2);
復制代碼

所以首先你需要明確STM8的型號,知道用的是哪個庫
接下來就是找對應的STM32的庫,也要找對應你用的型號的庫函數
比如還是上面的操作,STM32F10x的庫函數里也是:
  1. GPIO_SetBits( GPIOA, GPIO_Pin_2 );
復制代碼

但是STM32F10x在GPIO初始化時還需要配置時鐘等等,跟STM8又有許多區別,僅僅對應修改是不夠的

這些庫函數在st官網都可以下載,里面都有說明文檔。
當然,在文檔里你會發現STM32比STM8多了很多東西,這時候對應的去查某個外設的用法例子就可以明白了,或者再到論壇上來問。



作者: howlclat    時間: 2018-9-5 11:20
剛剛好像看錯了,stm8上用的是寄存器方式…… 當我沒說
不過如果明白那個程序在做什么的話,是可以用STM32的庫函數去實現的,比如GPIO的操作像你那樣改是可以,但要注意我之前說的,STM32多了很多東西,比如GPIO的初始化要配置時鐘之類的,要注意添加上,否則不能工作,最好多了解一下STM32。
作者: 哦破品牌    時間: 2018-9-5 11:34
很簡單啊。你這個都不會,改成stm32的工程
作者: smallmount    時間: 2018-9-5 11:40
問題太籠統了。。。
作者: wxl_wxl    時間: 2018-9-5 11:57
STM8程序也是用庫函數實現的,那移植到STM32上就不要用寄存器,最好也用庫函數.




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1