国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

底層與上層函數的混用存在的問題

嵌入式應用開發 ? 來源:嵌入式應用開發 ? 作者:嵌入式應用開發 ? 2022-08-18 12:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

項目需求:利用PWM產生加熱信號,需要在PWM低信號時采集AD

代碼實現部分:

#define heat_det1_open GPIO_SetBits(GPIOB,GPIO_Pin_12)     //引腳PB12打開
#define heat_det1_close GPIO_ResetBits(GPIOB,GPIO_Pin_12)     //引腳PB12關閉
#define heat_det2_open GPIO_SetBits(GPIOB,GPIO_Pin_13)   //引腳PB13打開
#define heat_det2_close GPIO_ResetBits(GPIOB,GPIO_Pin_13)  //引腳PB13關閉
/******************************************************************************
* 負 責 人 : ***

* 函數功能 :控制PB12,PB13開啟與關閉進行采集

******************************************************************************/
void heat_std_en()
{
    heat_det1_open;
    heat_det2_open;
}
void heat_std_disen()
{
    heat_det1_close;
    heat_det2_close;
}
/******************************************************************************
* 負 責 人 : ***


******************************************************************************/
double get_Pt_res()
{
    heat_std_en();  //使能det1與det2
    delay_us(5300); //防電壓抖動延時
    get_val.ad1 = pm_get_adc(AD1Chn);
    delay_us(50);
    get_val.ad2 = pm_get_adc(AD2Chn);
    delay_us(50);
    get_val.ad3 = pm_get_adc(AD3Chn);
    delay_us(50);

測試發現,這里牽扯到一個問題,底層的函數調用和上層邏輯代碼互用,而且存在 一個誤區,ad采集的時間與ad采樣以及時間延時的時間誤差,加上本身跑的是裸機跑的系統,系統函數 調用過程產生的時間差導致函數在ad采集過程中達不到想要的采集效果,雙線程同樣給存在調度問題,因此雙線程(1個產生PWM,1個用來檢測引腳高低電平采集)這種方法在調度上和時間上存在誤差。

解決方案:

重新開啟一個定時器,在PWM開啟時同時是開啟,在PWM的低電平通過定時器的時間開始采集AD即可。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5869

    瀏覽量

    225591
  • AD
    AD
    +關注

    關注

    28

    文章

    879

    瀏覽量

    154888
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67499
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CAN發送的底層邏輯:CANwrite函數機制介紹

    這個系列是全新的系列,整個系列會通過實際操作,調試實際的代碼,以CAN為例,完整的解析AUTOSAR的從底層MCAL 到COM等上層模塊的通信鏈路層。重點講述數據的流向,以及各個模塊的作用,配置方法。
    的頭像 發表于 07-17 15:47 ?9063次閱讀
    CAN發送的<b class='flag-5'>底層</b>邏輯:CANwrite<b class='flag-5'>函數</b>機制介紹

    AD10用什么快捷鍵可以在3D視圖中上層底層快速切換啊 ...

    AD10用什么快捷鍵可以在3D視圖中上層底層快速切換啊
    發表于 11-30 16:09

    圖片中點擊上層可以返回上層目錄,上層控件怎么實現?

    圖片中點擊上層可以返回上層目錄,這個上層控件怎么實現?
    發表于 12-20 12:50

    iOS底層函數本質

    iOS 底層(二)-函數本質
    發表于 05-13 07:52

    淺析回調函數

    回調用于層間協作,上層將本層函數安裝在下層,這個函數就是回調,而下層在一定條件下觸發回調,例如作為一個驅動,是一個底層,他在收到一個數據時,除了完成本層的處理工作外,還將進行回調,將這
    發表于 08-06 06:10

    arduino的串口底層函數在哪里修改?

    arduino的串口底層函數在哪里修改
    發表于 09-25 06:35

    為什么不能將新舊電池、不同型號電池混用?

    為什么不能將新舊電池、不同型號電池混用?         因為舊電池能量低,電量少,而新電池則能量高,電量多,當它們混用時,不但
    發表于 10-28 15:32 ?7342次閱讀

    應用程序調用底層驅動

    本片主要講述了嵌入式linux操作系統的上層應用程序是如何調用底層驅動程序的。
    發表于 03-14 15:00 ?0次下載

    03 底層函數

    03 底層函數
    發表于 10-11 09:29 ?7次下載
    03 <b class='flag-5'>底層</b>庫<b class='flag-5'>函數</b>

    驅動之路-設備模型之上層模型

    底層模型決定上層模型,在總線,設備,驅動的結構體中你總是可以看到它們間接或者直接的包含了kobject結構或kset結構。
    發表于 05-15 17:04 ?930次閱讀
    驅動之路-設備模型之<b class='flag-5'>上層</b>模型

    STM32的HAL與LL庫能共同使用(混用)嗎?

    STM32的HAL和LL庫能共同使用(混用)嗎?
    的頭像 發表于 02-28 16:57 ?1.7w次閱讀

    手機充電器可以混用

    手機的充電器是可以混用的,生產廠家在這一點上面也會考慮到,因為都是USB接口,即使不是有意的,也是很容易出現混用的。雖然手機充電器的標準接口都是USB,但是在混用時,有可能達不到手機原本的充電速度或者是電流。
    發表于 04-04 16:37 ?2.9w次閱讀

    Linux驅動基礎知識科普

    驅動就是對底層硬件設備的操作進行封裝,并向上層提供函數接口。
    的頭像 發表于 05-25 12:35 ?3355次閱讀

    錫膏混用,哪些情況要命,哪些情況可救?一文說透混用紅線

    錫膏混用風險極高,五大高危場景嚴禁操作:無鉛與有鉛混用違反法規且焊點易斷裂;無鹵與有鹵混用因鹵素殘留引發漏電;高低溫錫膏混用導致焊點失效;不同活性等級
    的頭像 發表于 04-24 09:10 ?1865次閱讀
    錫膏<b class='flag-5'>混用</b>,哪些情況要命,哪些情況可救?一文說透<b class='flag-5'>混用</b>紅線

    光纖收發器品牌不同能混用嗎?

    在光纖通信網絡部署中,一個高頻問題困擾著眾多工程師與采購方: 不同品牌的 光纖收發器 能否混用? 這一問題背后,涉及技術參數匹配、協議兼容性、工程穩定性等多重維度。本文將從底層原理到實際應用場
    的頭像 發表于 01-28 11:07 ?787次閱讀
    光纖收發器品牌不同能<b class='flag-5'>混用</b>嗎?