精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

C語言程序編寫

硬件攻城獅 ? 來源:玩轉(zhuǎn)單片機與嵌入式 ? 2022-12-30 14:55 ? 次閱讀

一:事情起因

事情的起因是這樣的:原來的產(chǎn)品已經(jīng)有比較成熟代碼,并且產(chǎn)品已經(jīng)批量??蛻籼岢隽诵碌墓δ芨膭?,需要將其中一個端口的功能與另一個端口互換,原來做AI采集的端口用作開關(guān)量采集,原來用作開關(guān)量采集的端口用作AI采集。

這么小的代碼改動,想著讓新來的小伙子嘗試一下,就放心地讓他去改。2天后詢問進度,本來以為已經(jīng)完成的工作,竟然被告知代碼測試還有問題。

抽出來時間跟他一起檢查了代碼。當我看到下面的改動之后,瞬間崩潰了。

原來的代碼是這樣的:

GPIO_InitTypeDefGPIO_InitStructure;


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;   
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
GPIO_Init(GPIOA, &GPIO_InitStructure);


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOA, &GPIO_InitStructure);
改動后的代碼是這樣的:
GPIO_InitTypeDefGPIO_InitStructure;


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
GPIO_Init(GPIOA, &GPIO_InitStructure);


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
乍一看好像沒有什么問題,將原來PA9的AI模式配置注釋掉,修改為上拉輸入模式,將原來AI10的上拉輸入模式修改為AI模式。

當我將代碼用vscode打開后,發(fā)現(xiàn)第204行與205行的顏色相同。如下圖:

7e0e8a32-788b-11ed-8abf-dac502259ad0.png

原來是不小心在第204行最后輸入了一個“”,這個“”在C語言中是換行標記,使用這個符號時,就導致第205行其實是被注釋掉的。相當于PA9的模式一直沒有設(shè)置成功。

當我問他為什么要在最后增加一個“”的時候,他說:“不知道,不過這個已經(jīng)被注釋了,也不影響啊!”。

我的內(nèi)心在想,“你是C語言之父啊,你說沒影響就沒影響了?”。不過作為導師,還是耐著性子給他講解了“”在C語言中的用法。

二:總結(jié)


在C語言程序編寫中,我們有時會遇到一行代碼太長而影響閱讀或者出現(xiàn)與部分公司或組織要求的編碼規(guī)范不符的情況,此時我們需要將這行代碼分成多行來寫。 

針對一般語句,我們使用結(jié)尾作為換行標記。當在編譯時,后面的換行符將被忽略,當做一行處理。

所以上面的語句:
//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
在編譯時的實際效果會這樣的:
//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;
所以下面一行配置端口為“上拉輸入”模式的代碼其實是被注釋掉,不被編譯進去的。

你也遇到過類似的問題嗎?





審核編輯:劉清

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

    關(guān)注

    180

    文章

    7598

    瀏覽量

    136208
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1196

    瀏覽量

    51919
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    154

    瀏覽量

    7670

原文標題:讓新來的改一段C代碼,結(jié)果后差點氣死!

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    pic單片機io口控制教程之c語言編程實現(xiàn)

    pic單片機編程之io口控制的c語言編程實例教程。io控制作為單片機最核心基礎(chǔ)的東西,能做除了ad、da轉(zhuǎn)換之外絕大多數(shù)的事情,那么,當提起對應(yīng)單片機io口控制c語言
    發(fā)表于 07-26 11:52 ?1.2w次閱讀
    pic單片機io口控制教程之<b class='flag-5'>c</b><b class='flag-5'>語言</b>編程實現(xiàn)

    單機片技術(shù):Keil環(huán)境下C語言程序編寫及仿真#單片機

    單片機仿真技術(shù)
    學習硬聲知識
    發(fā)布于 :2022年11月09日 14:06:29

    用最簡單的C語言程序編寫萬年歷?。?!求助

    用最簡單的C語言程序編寫萬年歷??!好難啊...
    發(fā)表于 09-25 18:53

    急!請問C51與ISD4004的單片機C語言程序如何編寫!

    發(fā)表于 12-26 14:10

    1602顯示的程序怎么寫?

    請教高手1602顯示C語言程序編寫,簡單明了那種。
    發(fā)表于 05-09 11:44

    12864顯示屏程序編寫

    請教高手編寫12864顯示屏C語言程序編寫,謝謝!
    發(fā)表于 05-09 11:47

    家用室內(nèi)濕度傳感器裝置

    HS1101的濕度傳感器與AVR單片機如何;連接,求C語言程序編寫和電路圖
    發(fā)表于 05-15 21:48

    C語言學習核心教程

    開天辟地,重新認識C語言。一書在手,精通高質(zhì)量C語言程序編寫
    發(fā)表于 01-23 12:43

    如何用C51驅(qū)動航模直流無刷電機?用C語言程序如何編寫?

    如何用C51驅(qū)動航模直流無刷電機?用C語言程序如何編寫?
    發(fā)表于 05-11 15:37

    單片機:請問這種題目如何用c語言程序編寫

    發(fā)表于 03-31 09:28

    C語言程序編寫問題

    如何對一個數(shù)組里的元素進行運算,例:u16 a[3]={1,2,3},我想進行這樣的運算:(123-50)*2,然后把這個數(shù)值輸出,現(xiàn)在的問題是,我如何把數(shù)組里的123拿出來運算
    發(fā)表于 10-20 14:05

    嵌入式程序員常見的const、static、volatile關(guān)鍵字

    嵌入式程序員const、static、volatile三個關(guān)鍵字的樸素認識摘要:在C語言程序編寫中,const、static關(guān)鍵字是比較熟悉
    發(fā)表于 12-21 06:08

    PWM調(diào)速的C語言程序編寫

    小白入門,基于pwm調(diào)速的理論基礎(chǔ)。。。。。。。。。。。。。。。。。。。。。。。。。
    發(fā)表于 11-12 11:36 ?29次下載

    pwm調(diào)速原理c語言,pwm調(diào)速C語言程序編寫

    脈寬調(diào)制技術(shù)是通過對逆變電路開關(guān)的通斷控制來實現(xiàn)對模擬電路的控制的。脈寬調(diào)制技術(shù)的輸出波形是一系列大小相等的脈沖,用于替代所需要的波形,以正弦波為例,也就是使這一系列脈沖的等值電壓為正弦波,并且輸出脈沖盡量平滑且具有較少的低次諧波。
    發(fā)表于 10-27 18:02 ?7776次閱讀

    單片機硬件知識介紹 基于單片機點亮LED燈

    本章的標題名為“點亮你的第一個 LED”,從功能上講是一項非常簡單的工作。其實本章包含的內(nèi)容比較多,包括單片機硬件知識的介紹、C 語言程序編寫、
    發(fā)表于 07-24 11:48 ?1640次閱讀
    單片機硬件知識介紹 基于單片機點亮LED燈