91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

底層與上層函數(shù)的混用存在的問題

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

掃碼添加小助手

加入工程師交流群

項(xiàng)目需求:利用PWM產(chǎn)生加熱信號(hào),需要在PWM低信號(hào)時(shí)采集AD

代碼實(shí)現(xiàn)部分:

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

* 函數(shù)功能 :控制PB12,PB13開啟與關(guān)閉進(jìn)行采集

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


******************************************************************************/
double get_Pt_res()
{
    heat_std_en();  //使能det1與det2
    delay_us(5300); //防電壓抖動(dòng)延時(shí)
    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);

測(cè)試發(fā)現(xiàn),這里牽扯到一個(gè)問題,底層的函數(shù)調(diào)用和上層邏輯代碼互用,而且存在 一個(gè)誤區(qū),ad采集的時(shí)間與ad采樣以及時(shí)間延時(shí)的時(shí)間誤差,加上本身跑的是裸機(jī)跑的系統(tǒng),系統(tǒng)函數(shù) 調(diào)用過程產(chǎn)生的時(shí)間差導(dǎo)致函數(shù)在ad采集過程中達(dá)不到想要的采集效果,雙線程同樣給存在調(diào)度問題,因此雙線程(1個(gè)產(chǎn)生PWM,1個(gè)用來檢測(cè)引腳高低電平采集)這種方法在調(diào)度上和時(shí)間上存在誤差。

解決方案:

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

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5874

    瀏覽量

    225844
  • AD
    AD
    +關(guān)注

    關(guān)注

    28

    文章

    879

    瀏覽量

    154994
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4418

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CAN發(fā)送的底層邏輯:CANwrite函數(shù)機(jī)制介紹

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

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

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

    圖片中點(diǎn)擊上層可以返回上層目錄,上層控件怎么實(shí)現(xiàn)?

    圖片中點(diǎn)擊上層可以返回上層目錄,這個(gè)上層控件怎么實(shí)現(xiàn)?
    發(fā)表于 12-20 12:50

    iOS底層函數(shù)本質(zhì)

    iOS 底層(二)-函數(shù)本質(zhì)
    發(fā)表于 05-13 07:52

    淺析回調(diào)函數(shù)

    回調(diào)用于層間協(xié)作,上層將本層函數(shù)安裝在下層,這個(gè)函數(shù)就是回調(diào),而下層在一定條件下觸發(fā)回調(diào),例如作為一個(gè)驅(qū)動(dòng),是一個(gè)底層,他在收到一個(gè)數(shù)據(jù)時(shí),除了完成本層的處理工作外,還將進(jìn)行回調(diào),將這
    發(fā)表于 08-06 06:10

    arduino的串口底層函數(shù)在哪里修改?

    arduino的串口底層函數(shù)在哪里修改
    發(fā)表于 09-25 06:35

    為什么不能將新舊電池、不同型號(hào)電池混用?

    為什么不能將新舊電池、不同型號(hào)電池混用?         因?yàn)榕f電池能量低,電量少,而新電池則能量高,電量多,當(dāng)它們混用時(shí),不但
    發(fā)表于 10-28 15:32 ?7351次閱讀

    應(yīng)用程序調(diào)用底層驅(qū)動(dòng)

    本片主要講述了嵌入式linux操作系統(tǒng)的上層應(yīng)用程序是如何調(diào)用底層驅(qū)動(dòng)程序的。
    發(fā)表于 03-14 15:00 ?0次下載

    03 底層庫(kù)函數(shù)

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

    驅(qū)動(dòng)之路-設(shè)備模型之上層模型

    底層模型決定上層模型,在總線,設(shè)備,驅(qū)動(dòng)的結(jié)構(gòu)體中你總是可以看到它們間接或者直接的包含了kobject結(jié)構(gòu)或kset結(jié)構(gòu)。
    發(fā)表于 05-15 17:04 ?944次閱讀
    驅(qū)動(dòng)之路-設(shè)備模型之<b class='flag-5'>上層</b>模型

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

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

    手機(jī)充電器可以混用

    手機(jī)的充電器是可以混用的,生產(chǎn)廠家在這一點(diǎn)上面也會(huì)考慮到,因?yàn)槎际荱SB接口,即使不是有意的,也是很容易出現(xiàn)混用的。雖然手機(jī)充電器的標(biāo)準(zhǔn)接口都是USB,但是在混用時(shí),有可能達(dá)不到手機(jī)原本的充電速度或者是電流。
    發(fā)表于 04-04 16:37 ?2.9w次閱讀

    Linux驅(qū)動(dòng)基礎(chǔ)知識(shí)科普

    驅(qū)動(dòng)就是對(duì)底層硬件設(shè)備的操作進(jìn)行封裝,并向上層提供函數(shù)接口。
    的頭像 發(fā)表于 05-25 12:35 ?3358次閱讀

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

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

    光纖收發(fā)器品牌不同能混用嗎?

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