国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32問題_01:declaration may not appear after executable statement in block

這篇具有很好參考價值的文章主要介紹了STM32問題_01:declaration may not appear after executable statement in block。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、問題描述

如圖:在點(diǎn)燈的過程中想寫一個for循環(huán)來實現(xiàn)隨機(jī)數(shù)點(diǎn)燈功能,但是如下圖第26行的代碼出現(xiàn)了問題“declaration may not appear after executable statement in block”,翻譯過來就是聲明不能出現(xiàn)在塊中的可執(zhí)行語句之后。其實int i是聲明語句,值得注意的是“GPIO_InitTypeDef GIIOPP”(此句的作用是定義了一個GPIO_InitTypeDef類型的結(jié)構(gòu)體變量GIIOPP)也是聲明語句。

declaration may not appear after,stm32,嵌入式硬件,單片機(jī),mcu

二、解決方案一

將聲明語句放在int main()語句下方,對于上圖而言,可以把int i放在int main()的上方;或者將其放在GPIO_InitTypeDef GIIOPP的上方/下方。只需要將聲明語句放在可執(zhí)行語句之前。GPT的回答如下。

declaration may not appear after,stm32,嵌入式硬件,單片機(jī),mcu

三、解決方案二

1、因為keil 默認(rèn)編譯標(biāo)準(zhǔn)是C89,將C89換成C99就行。此時聲明語句的位置不影響代碼執(zhí)行

2、如下圖:

declaration may not appear after,stm32,嵌入式硬件,單片機(jī),mcu

3、C89和C99的區(qū)別


Keil是一款廣泛使用的嵌入式開發(fā)工具,它提供了多種編譯標(biāo)準(zhǔn)選項,包括C89和C99。

C89是指ANSI C(或稱為C90)標(biāo)準(zhǔn),在1989年發(fā)布。它是最早的C語言標(biāo)準(zhǔn)之一,定義了C語言的基本語法和特性。

C99是指C語言的第二個標(biāo)準(zhǔn),于1999年發(fā)布。相比于C89,C99引入了一些新特性和改進(jìn),以增強(qiáng)C語言的表達(dá)能力和功能,提供更方便的編程方式。

C89與C99的區(qū)別主要體現(xiàn)在以下幾個方面:

  1. 數(shù)據(jù)類型:C99引入了新的數(shù)據(jù)類型,例如long long intbool等。而C89只支持基本的數(shù)據(jù)類型。

  2. 預(yù)處理指令:C99增加了一些新的預(yù)處理指令,例如_Pragma__func__等,提供更靈活和強(qiáng)大的預(yù)處理功能。

  3. 變長數(shù)組:C99支持變長數(shù)組,可以動態(tài)指定數(shù)組的長度。而C89中數(shù)組的長度必須是常量。

  4. 注釋:C99支持在代碼中使用//進(jìn)行單行注釋,而C89中只支持/* */多行注釋。

  5. 布爾類型:C99引入了_Bool類型,用于表示布爾值(true或false)。而C89中使用整型來表示布爾值。

需要注意的是,不同版本的編譯器可能對C89和C99的支持程度有所差異。因此,在選擇編譯標(biāo)準(zhǔn)時,需要根據(jù)實際情況和編譯器的支持情況來確定。文章來源地址http://www.zghlxwxcb.cn/news/detail-763920.html


到了這里,關(guān)于STM32問題_01:declaration may not appear after executable statement in block的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Arm電腦出現(xiàn)【GLFWError】WGL: The driver does not appear to support OpenGL問題解決

    Arm電腦出現(xiàn)【GLFWError】WGL: The driver does not appear to support OpenGL問題解決

    本人Arm64筆記本,安裝Windows 11操作系統(tǒng)。準(zhǔn)備運(yùn)行OpenGL游戲時,出現(xiàn)彈窗報錯: 看官方幫助,說是可能驅(qū)動不匹配,要去官網(wǎng)下載驅(qū)動,可是現(xiàn)在Arm64自己的驅(qū)動都參差不齊,所以需要別的辦法。 直接給出解決方案: 去微軟商店Microsoft Store搜索安裝OpenCL和OpenGL兼容包 ,安裝

    2024年02月11日
    瀏覽(28)
  • c++出現(xiàn) [Error] ** was not declared in this scope類似的問題怎么辦?

    如果出現(xiàn)這個錯誤,有2種可能。 1.定義**數(shù)據(jù)類型語句的前一行沒有寫分號,而且你在程序中調(diào)用了他。 例如以下這個語句就會報錯: 因為第4行后面沒有寫分號,而且后面用了d++。所以會報錯。 2.在程序里調(diào)用的c++函數(shù)沒有引進(jìn)數(shù)據(jù)流。 就拿memset函數(shù)舉例吧:memset需導(dǎo)入

    2024年02月07日
    瀏覽(20)
  • Message: ‘chromedriver‘ executable may have wrong permissions.

    Message: ‘chromedriver‘ executable may have wrong permissions.

    今天運(yùn)行項目遇到如下代碼 上述代碼運(yùn)行報錯如下: 出錯的原因大概率出在chromedriver上。 首先根據(jù)代碼中的chrome_driver檢查是否有chromedriver,如果有的話那應(yīng)該是版本問題。如果沒有,以及版本問題都要根據(jù)google-chrome的版本下載對應(yīng)的chromedriver。 使用如下命令檢查google-ch

    2024年02月10日
    瀏覽(16)
  • Kafka【問題 03】Connection to node -1 (/IP:9092) could not be established. Broker may not be available.

    此問題僅出現(xiàn)在云服務(wù)器上,非云服務(wù)器未出現(xiàn)過一下報錯: 非云服務(wù)器: 云服務(wù)器: 云服務(wù)器有兩個IP,監(jiān)聽IP為云服務(wù)器IP,而advertised監(jiān)聽IP為云服務(wù)器的外網(wǎng)IP。

    2024年02月05日
    瀏覽(22)
  • 記錄STM32 ST-LINK Utility出現(xiàn)“Can not connect to target“的問題,已解決

    記錄STM32 ST-LINK Utility出現(xiàn)“Can not connect to target“的問題,已解決

    在調(diào)試電路板下載程序的過程中,突然出現(xiàn)ST-Link連接不成功,因為以前是直接connect就可以識別成功的,最近一直連不上,以為是硬件出了問題,后來在網(wǎng)上查閱后,發(fā)現(xiàn)在connect前按下復(fù)位鍵就可以了,嘗試之后果然connect成功! ? ? 具體操作為:按下復(fù)位按鍵,別撒手,點(diǎn)擊

    2024年02月11日
    瀏覽(17)
  • 關(guān)于STM32生成Bin文件,出現(xiàn)Error: Q0122E: Could not open file問題小結(jié)

    關(guān)于STM32生成Bin文件,出現(xiàn)Error: Q0122E: Could not open file問題小結(jié)

    目錄 1.出現(xiàn)這一個問題的主要表現(xiàn)為,編譯器找不到該文件的路徑。 2.注意 ? ? ? ? 解決方法1:添加絕對路徑: ? ? ? ? ?2.解決方法2:直接添加 ???????????????? ????????C:Keil_v5ARMARMCCbinfromelf.exe這個文件路徑要修改成自己Keil文件夾的路徑位置。 在絕對路徑

    2024年01月25日
    瀏覽(27)
  • 已解決:sqlalchemy.exc.ObjectNotExecutableError: Not an executable object‘......’的報錯問題

    在flask框架中連接數(shù)據(jù)庫,并測試數(shù)據(jù)庫是否連接成功 使用了mysql數(shù)據(jù)庫和pymysql驅(qū)動 這是錯誤的相關(guān)代碼,在conn.execute()方法處拋出了錯誤 \\\'select 1\\\'不是一個可執(zhí)行的對象 文本sql的執(zhí)行,需要使用sqlalchemy中的text()方法處理字符串,再執(zhí)行語句 1、導(dǎo)入?from sqlalchemy import text

    2024年02月13日
    瀏覽(38)
  • STM32單片機(jī)開發(fā)-01 STM32介紹

    STM32單片機(jī)開發(fā)-01 STM32介紹

    通過野火開發(fā)板學(xué)習(xí)單片機(jī) 從內(nèi)核上分有Cortex-M0、M3、M4 和M7 F1 代表了基礎(chǔ)型,基于Cortex-M3 內(nèi)核,主頻為72MHZ F4 代表了高性能,基于Cortex-M4 內(nèi)核,主頻180M。 數(shù)據(jù)手冊:用于芯片選型和設(shè)計原理圖 參考手冊:用于編程時查閱 Icode總線 – 該總線講M3內(nèi)核的指令總線與閃存指令

    2024年01月21日
    瀏覽(28)
  • 【STM32】STM32學(xué)習(xí)筆記-課程簡介(01)

    【STM32】STM32學(xué)習(xí)筆記-課程簡介(01)

    程序純手打,手把手教學(xué) STM32最小系統(tǒng)板+面包板硬件平臺 該平臺比較適合高校在校大學(xué)生學(xué)習(xí)STM32。 STM32最小系統(tǒng)+面包板 Windows10操作系統(tǒng) 萬用表、示波器、鑷子、剪刀等 Keil5 MDK 4.1 面包板和跳線/飛線 4.2 杜邦線和STM32最小系統(tǒng)板 4.3 STLINK和OLED顯示屏 4.4 LED和按鍵 4.5 電位器和

    2024年03月18日
    瀏覽(31)
  • 解決conda激活環(huán)境 IMPORTANT: You may need to close and restart your shell after running ‘conda init‘.

    解決IMPORTANT: You may need to close and restart your shell after running ‘conda init’. 激活conda環(huán)境 報錯信息 在命令行運(yùn)行 運(yùn)行完成后,重啟CMD命令行,激活Python環(huán)境即可解決。

    2024年02月12日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包