找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3271|回復: 20
打印 上一主題 下一主題
收起左側(cè)

從51單片機過渡到stm32,使盡渾身解數(shù)點不亮一個Led燈

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:608154 發(fā)表于 2022-1-27 23:00 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
從51過渡到stm32,網(wǎng)上拚命收集資源,keil官網(wǎng)下載了MDK536,又下載了stm32f0xx和f1xx芯片包,沒板去街邊修車店撿個控制器回來,拆開看是f030c6t6,那就從這個開始,于是網(wǎng)上找啊找,找到了大牛(青風)的點燈例程,用mdk536打開幾十個error,庫函數(shù)版本的根本不知道錯在哪個地方,更別提改錯了。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:608154 發(fā)表于 2022-1-27 23:11 來自觸屏版 | 只看該作者
本帖最后由 吳作和 于 2022-1-28 18:51 編輯

不甘心就這么放棄,于是又繼續(xù)找,找到了原子點燈例程,編譯零錯誤零警告通過,但是一看:mcu是f103zet6,但是我的是f030c6t6,還是無法硬件下載,只好繼續(xù)尋找,又找到一個資源,就是<<stm32從入門到精通>>中的最簡單的點燈例子,不需要用一個庫函數(shù),也不需要導入一個h文件,趕緊復制粘貼到工程中來,進行編譯又是一個錯誤,并且錯誤位置都沒有提示,
回復

使用道具 舉報

板凳
ID:608154 發(fā)表于 2022-1-27 23:17 來自觸屏版 | 只看該作者
繼續(xù)折騰,折騰到下載cubeMX,圖型化創(chuàng)建了一個點燈工程,用MDK5打開后繼續(xù)編譯,還是有一個錯誤,定位到錯誤之處也看不懂,就這樣折騰了五六天,最后只能放棄stm32返回到c51了
回復

使用道具 舉報

地板
ID:766450 發(fā)表于 2022-1-28 08:40 | 只看該作者
其實主要還是你的編程基礎(chǔ),模塊化編譯的問題
回復

使用道具 舉報

5#
ID:8222 發(fā)表于 2022-1-28 10:02 | 只看該作者
我的水平只能玩玩STM8,業(yè)余玩玩,感覺STM32太深奧了。
回復

使用道具 舉報

6#
ID:973741 發(fā)表于 2022-1-28 11:09 | 只看該作者
完全寄存器方式的 ,和51的幾乎一樣,輸出pc13,不合適自己改一下

STM030TEST.rar

496.67 KB, 下載次數(shù): 7

回復

使用道具 舉報

7#
ID:973741 發(fā)表于 2022-1-28 11:20 | 只看該作者
#include "stm32f0xx.h"
#include "stdint.h"
#include "stdbool.h"
#define u8 unsigned char
#define u16 unsigned int
#define u32 unsigned long
       
void delay(u16 x)
  {
        long b;
   for(b=0;b<(x*2400);b++);   
  }

void RCC_Init(void)
{   
  RCC->CFGR=0x0;
        RCC->CR |=0X01;//開啟HSI
        while((RCC->CR&0x02)!=0x02);//HSI穩(wěn)定
        RCC->CFGR |=1<<20;//PPL*6
        RCC->CFGR &=0xffffff0f;//AHB不分頻
        RCC->CFGR &=0xfffff8ff;//PREDIV不分頻
        RCC->CFGR |=0x00008000; //HSI作為PPL輸入
        FLASH->ACR=0X32;
        RCC->CR |=1<<24;//開啟PPL
        while((RCC->CR & 0x02000000)!=0x02000000);//等待PPL穩(wěn)定
  RCC->CFGR |=0x02;  //時鐘切換到PPL
        while((RCC->CFGR & 0x0c)!=0x8);//系統(tǒng)時鐘已經(jīng)切換到PPL
}       

void GPIO_Init(void)
{
   RCC->AHBENR |= 1<<19; //開啟GPIOC時鐘
   GPIOC->MODER |= 1<<26;  //PC13通用輸出
   GPIOC->OTYPER |= 1<<13;  //PC13開漏輸出
         GPIOC->OSPEEDR |= 3<<26; //PC13高速輸出   
}
int main()
{         
        RCC_Init() ;
        GPIO_Init();
       
  while(1)
  {
               
        delay(500);
        GPIOC->BSRR=0x2000;
        delay(500);
        GPIOC->BRR|=0X2000;       
               
  }
}
回復

使用道具 舉報

8#
ID:45334 發(fā)表于 2022-1-28 13:52 | 只看該作者
用STM32CUBEMX ,容易的很
回復

使用道具 舉報

9#
ID:267932 發(fā)表于 2022-1-28 15:49 | 只看該作者
點燈大師你好,  剛開始可以先學這配置底層寄存器來點燈。
回復

使用道具 舉報

10#
ID:608154 發(fā)表于 2022-1-28 18:45 來自觸屏版 | 只看該作者
謝謝7樓的老師,我下載代碼去試試。關(guān)鍵是我剛?cè)腴T,工程模板都不會創(chuàng)建,更不會移植,網(wǎng)上面F0xx的例程又少,都是F1xx的例程,請問怎樣把F1xx例程移植到F0xx中來。
回復

使用道具 舉報

11#
ID:378108 發(fā)表于 2022-1-28 21:20 | 只看該作者
你這不是單片機不會用,你是開發(fā)環(huán)境不會用
回復

使用道具 舉報

12#
ID:608154 發(fā)表于 2022-1-29 08:57 來自觸屏版 | 只看該作者
的確是MDK不會用,移植過來的代碼中的c ,s文件都要重新添加,還有h文件也要重新導入,編譯調(diào)試要重新配置,謝謝老師們燈已經(jīng)點亮了
回復

使用道具 舉報

13#
ID:917293 發(fā)表于 2022-1-29 09:35 來自觸屏版 | 只看該作者
吳作和 發(fā)表于 2022-1-28 18:45
謝謝7樓的老師,我下載代碼去試試。關(guān)鍵是我剛?cè)腴T,工程模板都不會創(chuàng)建,更不會移植,網(wǎng)上面F0xx的例程又 ...

直接置換輸出引腳高低電平就行了
回復

使用道具 舉報

14#
ID:116773 發(fā)表于 2022-1-30 09:09 | 只看該作者
吳作和 發(fā)表于 2022-1-29 08:57
的確是MDK不會用,移植過來的代碼中的c ,s文件都要重新添加,還有h文件也要重新導入,編譯調(diào)試要重新配置 ...

已經(jīng)點亮了LED,說明您已經(jīng)入門了。再返回重新用STM32Cube新建一個項目前生成代碼框架,添加控制LED引腳電平的代碼,也許您就會覺得非常容易。
回復

使用道具 舉報

15#
ID:116773 發(fā)表于 2022-1-30 09:11 | 只看該作者
之前不成功的原因大概有兩個:一是芯片的型號沒有選擇正確;二是LED引腳與代碼中有差異。
回復

使用道具 舉報

16#
ID:620337 發(fā)表于 2022-2-14 14:58 | 只看該作者
主要還是你的基礎(chǔ) 比較差,或者說你很想省錢,,直接在某一個寶花個幾十塊買一個最基本的模塊回來學習,,,需要你折騰那么多嗎?
回復

使用道具 舉報

17#
ID:879348 發(fā)表于 2022-2-14 15:16 | 只看該作者
這說明你的資料有問題
回復

使用道具 舉報

18#
ID:879809 發(fā)表于 2022-2-14 21:33 | 只看該作者
有什么錯誤貼出來啊,光說有錯等于沒說。
回復

使用道具 舉報

19#
ID:843388 發(fā)表于 2022-2-15 10:43 | 只看該作者
先確定一點,咱們的程序框架對不對,如果我記得沒錯,030是M0內(nèi)核,103是M3內(nèi)核,再其次,可能是程序處理出的問題,32單片機想啟動IO口得給IO口“供電”、即啟動對應的APB電源,最后的最后,51的IO口如果不考慮很多,可以直接置0置1直接使用,而32的需要你對每個IO使用時先配置。初學可以下載別人的例程,看他的main.C里有什么,為什么加這句話�?匆曨l也是很好的學習途徑,用多32會發(fā)現(xiàn)很多不同于51的優(yōu)點
回復

使用道具 舉報

20#
ID:236035 發(fā)表于 2022-2-15 15:04 | 只看該作者
按14樓的搞一下,樓主就真的入門了。
回復

使用道具 舉報

21#
ID:499136 發(fā)表于 2022-2-17 11:43 | 只看該作者
STM32強大在了生態(tài)上,但是也造成了從51轉(zhuǎn)32的人不適應寫個簡單的程序會感覺很麻煩反而沒有51上實現(xiàn)簡單,我剛轉(zhuǎn)的時候也是這樣子建議是先購買現(xiàn)成的開發(fā)板(野火、正點原子)跟著例程熟悉一下32的整體程序架構(gòu)和生態(tài)之后就會感覺很舒服啦。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表