0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Keil仿真調(diào)試STM32與LED

撞上電子 ? 2023-11-30 08:00 ? 次閱讀

今天給大家分享一下STM32 流水燈簡(jiǎn)單的仿真吧,我感覺這個(gè)提供有用的,但是自己也是第一次使用,主要是感覺曲線很高級(jí)。在PWM中查看脈寬很有用。

code: led.c

#include "led.h"#include "delay.h"/*GPIO的控制寄存器的配置1、配置輸出引腳2、打開對(duì)應(yīng)的輸出的寄存器的時(shí)鐘3、配置引腳輸出的模式:強(qiáng)上拉、推完、開漏輸出4、配置輸出的速度。*/void Led_funcing(){GPIO_DeInit(LED_GPIO_PORT);// 注意這里的函數(shù)非常的重要,這里是將對(duì)應(yīng)的GPIO端口初始化成默認(rèn)的樣子,因?yàn)檫@個(gè)端口可能在以前使用過,其他的配置可能發(fā)生了改變GPIO_InitTypeDef GPIOC_LED_Init; // 定義GPIO的結(jié)構(gòu)體,也就是外設(shè)的結(jié)構(gòu)體RCC_APB2PeriphClockCmd( LED_GPIO_CLK,ENABLE); //打開對(duì)應(yīng)的GPIO的時(shí)鐘,注意這里不同的外設(shè)可能掛載的時(shí)鐘不同,所以需要開原理圖,GPIOC_LED_Init.GPIO_Pin=LED_GPIO_PIN ; // 配置需要使用的引腳GPIOC_LED_Init.GPIO_Mode=GPIO_Mode_Out_PP; //配置引腳的輸出的模式GPIOC_LED_Init.GPIO_Speed=GPIO_Speed_50MHz; // 配置輸出的頻率,這個(gè)在輸入的時(shí)候不需要配置GPIO_Init(LED_GPIO_PORT,&GPIOC_LED_Init); // 使用初始化函數(shù)初始化剛剛定義的結(jié)構(gòu)體,以及對(duì)應(yīng)的GPIO端口}

code: mian.c

#include "stm32f10x.h"#include "led.h"#include "delay.h"/*功能的實(shí)現(xiàn),注意在KEIL5中不要使用中文的空格這樣將會(huì)出現(xiàn)錯(cuò)誤。重點(diǎn),重點(diǎn),重點(diǎn)*/int main(){Led_funcing();// int k=5;while(1){GPIO_SetBits(LED_GPIO_PORT, LED_GPIO_PIN ); // 將對(duì)應(yīng)的GPIO端口對(duì)應(yīng)的引腳設(shè)置為高電平delay(10000);//延時(shí)GPIO_ResetBits(LED_GPIO_PORT, LED_GPIO_PIN); // 將對(duì)應(yīng)的GPIO端口對(duì)應(yīng)的引腳設(shè)置成低電平delay(10000);//延時(shí),}}


總結(jié):
1、在進(jìn)行不同功能函數(shù)的編寫的時(shí)候,最好在USER文件夾下面建一個(gè)對(duì)應(yīng)的文件,注意有C文件,那么就一定有H文件。
2、在編譯C文件的時(shí)候,首先在配中找到對(duì)應(yīng)的H文件的文件夾目錄。
3、不同的芯片對(duì)應(yīng)的庫(kù)函數(shù)具有一定的差異,所以在進(jìn)行引入庫(kù)的時(shí)候,可能會(huì)出錯(cuò)誤。
4、如果在編譯的時(shí)候出現(xiàn)相關(guān)的庫(kù)函數(shù)文件無法正常的打開,那么首先需要查看是否指定相關(guān)的路徑。
5、在魔術(shù)棒中的文件的輸出最好都定義到自己的文件夾中,這樣便于進(jìn)行需要找。

配置仿真:

1,選擇使用對(duì)應(yīng)的CPU即可

864c590a-8f13-11ee-9788-92fbcf53809c.png

2,查看狀態(tài)配置

865b2c64-8f13-11ee-9788-92fbcf53809c.png

3,仿真結(jié)果

86754432-8f13-11ee-9788-92fbcf53809c.png

4,最后仿真的結(jié)果:時(shí)間與單片機(jī)上實(shí)際運(yùn)行的時(shí)間一致,如果不一致,請(qǐng)查看晶振或者時(shí)鐘配置。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23277

    瀏覽量

    660846
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    355982
  • keil
    +關(guān)注

    關(guān)注

    68

    文章

    1213

    瀏覽量

    166875
  • 仿真調(diào)試
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7515
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    keil可以讀出單片機(jī)的程序嗎

    Keil是一款廣泛應(yīng)用于單片機(jī)程序開發(fā)的軟件,它提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案。然而,關(guān)于Keil是否能直接“讀出”單片機(jī)的程
    的頭像 發(fā)表于 09-02 10:32 ?954次閱讀

    keil軟件實(shí)現(xiàn)編程仿真需要哪些步驟

    Keil MDK-ARM 是一款廣泛使用的集成開發(fā)環(huán)境(IDE),專為 ARM Cortex-M 微控制器編程而設(shè)計(jì)。它提供了代碼編輯、編譯、鏈接、調(diào)試仿真等功能。 1. 安裝 Keil
    的頭像 發(fā)表于 09-02 10:28 ?1128次閱讀

    keil軟件仿真如何仿真輸入

    Keil軟件是一款廣泛使用的嵌入式開發(fā)工具,它提供了豐富的功能,包括代碼編輯、編譯、調(diào)試仿真等。 1. Keil軟件概述 Keil軟件是一
    的頭像 發(fā)表于 09-02 10:25 ?788次閱讀

    keil5怎么往stm32里燒錄程序

    安裝Keil5和STM32的驅(qū)動(dòng)程序 首先,確保您已經(jīng)安裝了Keil5軟件。您可以從官方網(wǎng)站下載并安裝。 接下來,安裝STM32的驅(qū)動(dòng)程序。您可以從ST官方網(wǎng)站下載適用于您設(shè)備的驅(qū)動(dòng)程
    的頭像 發(fā)表于 08-22 09:31 ?2628次閱讀

    開發(fā)攻略之STM32調(diào)試端口的映射

    最近有一個(gè)項(xiàng)目用到了STM32F103RB系列單片機(jī),由于引腳數(shù)量較少,不得不使用到了單片機(jī)的PB3和PB4兩個(gè)引腳。而這兩個(gè)引腳剛好又是STM32系列的JTAG調(diào)試引腳,如果要用于普通IO的功能
    的頭像 發(fā)表于 08-03 08:11 ?440次閱讀
    開發(fā)攻略之<b class='flag-5'>STM32</b><b class='flag-5'>調(diào)試</b>端口的映射

    請(qǐng)問workbench不生成keil文件怎么調(diào)試?

    workbench不生成keil文件怎么調(diào)試
    發(fā)表于 05-27 06:16

    STM32WBA52CG的BLE開發(fā)怎么調(diào)試?

    我的STM32WBA52CG,自己畫的板子沒有引出串口,打印不了調(diào)試信息,現(xiàn)在用的是keil,硬件仿真不了。這樣開發(fā)起來挺麻煩的,只能通過運(yùn)行結(jié)果來看。
    發(fā)表于 05-20 06:35

    請(qǐng)問使用keil軟件仿真功能不能對(duì)stm32的SPI進(jìn)行仿真

    最近有個(gè)項(xiàng)目,使用SPI接口對(duì)某芯片進(jìn)行通信,已經(jīng)沒有問題,可以進(jìn)行正常讀寫。最近閑來無聊想使用keil軟件仿真功能即simulator觀察SPI時(shí)序(使用示波器直接觀察管腳波形就另當(dāng)別論),SPI
    發(fā)表于 05-08 08:29

    keil仿真無法用printf打印怎么解決?

    和CLK)接口方式. 芯片USART1的RX TX引腳反接仿真器RX TX引腳. 這種連接方式可以使printf重定向到usart1用Keil實(shí)現(xiàn)在線調(diào)試嗎? 我試了好多次都實(shí)現(xiàn)不了!!!~
    發(fā)表于 04-11 08:20

    使用外部QSPI在KEIL調(diào)試老是不對(duì),為什么?

    我打算程序在QSPI 里運(yùn)行,但是要實(shí)現(xiàn)在KEIL調(diào)試,我首先將STM32H750 W25Q64對(duì)應(yīng)的FLM 文件放到系統(tǒng)目錄下,然后做好配置,然后調(diào)試程序,但是程序起始運(yùn)行地址不在
    發(fā)表于 04-01 07:21

    stm32L0用keil5仿真時(shí)報(bào)錯(cuò)的原因?

    使用的是stm32L0系列芯片,在用keil5仿真時(shí)報(bào)錯(cuò)*** error 65: access violation at 0x40022000 : no \'read\' permission,網(wǎng)上說修改debug配置改了也沒
    發(fā)表于 03-20 07:41

    keil4連接ST-Link仿真器Debug中無法選擇是怎么回事?

    keil4連接ST-Link仿真器后,Debug中選擇ST- Link Debugger ,Setting出現(xiàn)的是這個(gè)畫面,但是不管選擇JTAG還是SWD都沒反應(yīng),開發(fā)板和仿真器都正確連接電腦了
    發(fā)表于 03-13 07:27

    STM32CUBE生成的工程如何進(jìn)行KEIL的軟件仿真

    通過STM32CUBE生成的工程如何進(jìn)行KEIL的軟件仿真有異常,做了很多的嘗試,沒能成功 1、根據(jù)網(wǎng)上的資料,進(jìn)行魔術(shù)棒的相關(guān)修改,如下圖 2、能順利進(jìn)入仿真界面,但是全速
    發(fā)表于 03-13 06:04

    M451在Keil中,打開仿真調(diào)試老是自動(dòng)斷開怎么解決?

    Keil中,打開仿真調(diào)試,運(yùn)行程序。老是自動(dòng)斷開。 接觸不良的情況可以排除,已經(jīng)換了好幾個(gè)診真器,接口連接也很牢固。
    發(fā)表于 01-16 06:43

    ADuc834在Keil軟件里面將仿真方式配置成“Keil Monitor-51”,一直無法與處理器建立連接的原因是什么?

    請(qǐng)問,ADuc834這款處理器,資料上說明是可以利用UART進(jìn)行硬件調(diào)試的。 但是我在Keil軟件里面將仿真方式配置成“Keil Monitor-51”,一直無法與處理器建立連接。 用
    發(fā)表于 01-11 08:31