色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

基于i.MX6ULL的掉電檢測設(shè)計與軟件測試

武漢萬象奧科 ? 2023-11-09 10:40 ? 次閱讀

基于i.MX6ULL的掉電檢測設(shè)計與軟件測試

基于i.MX6ULL平臺設(shè)計實現(xiàn)掉電檢測功能,首先選擇一路IO,利用IO電平變化觸發(fā)中斷,在編寫驅(qū)動時捕獲該路GPIO的中斷,然后在中斷響應(yīng)函數(shù)中發(fā)送信號通知應(yīng)用程序掉電發(fā)生了。

wKgaomVMRH6ABtVLAABTQ_BeDQs250.png

圖 1.1掉電信號IO

驅(qū)動代碼:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define power_MAJOR 200

static struct class *my_class;

static struct fasync_struct *fasync_queue; //異步通知隊列

#define GPIO_NUM 1 //中斷引腳為:GPIO1_1

static unsigned int irq_num;

/*打開 */

int power_open(struct inode *inode,struct file *filp){

return 0;

}

/*關(guān)閉 */

int power_release(struct inode *inode,struct file *filp){

return 0;

}

ssize_t power_read(struct file *filp,char __user *buf,size_t count,loff_t *f_pos){

return count;

}

ssize_t power_write(struct file *file,const char __user *buf,size_t count,loff_t *f_pos){

return count;

}

static int my_fasync(int fd, struct file * filp, int on)

{

int retval;

retval=fasync_helper(fd,filp,on,&fasync_queue);

/*將該設(shè)備登記到fasync_queue隊列中去*/

if(retval<0)

return retval;

return 0;

}

static const struct file_operations simple_fops={

.owner=THIS_MODULE,

.open=power_open,

.release=power_release,

.read=power_read,

.write=power_write,

.fasync=my_fasync,

};

/*在中斷服務(wù)函數(shù)中向應(yīng)用層發(fā)送消息-異步通知 */

static irqreturn_t irq_callback (int irqno, void *dev_id){

printk("irq power-detect working !\n");

if (fasync_queue) {

kill_fasync(&fasync_queue, SIGIO, POLL_IN);

}

return IRQ_HANDLED;

}

int power_init_module(void){

int rtn;

int ret;

/*注冊設(shè)備驅(qū)動 */

ret = register_chrdev(power_MAJOR,"power-detect-test",&simple_fops);

if(ret<0){

printk("Unable to register character device %d!/n",ret);

return ret;

}

/*自動創(chuàng)建設(shè)備節(jié)點 */

my_class = class_create(THIS_MODULE, "my_class");

device_create(my_class, NULL, MKDEV(power_MAJOR, 0), NULL,"powerdetect");

/*gpio申請*/

rtn = gpio_request(GPIO_NUM, "my_irq");

if(rtn!=0){

printk("my_irq irq pin request io failed.\n");

}

rtn = gpio_direction_input(GPIO_NUM);

if(rtn<0){

printk("gpio_direction_input() failed !\n");

}

/*獲取gpio中斷號*/

irq_num = gpio_to_irq(GPIO_NUM);

/*GPIO中斷服務(wù)函數(shù)注冊,*/ /*下降沿觸發(fā)*/

rtn = request_irq(irq_num, irq_callback,IRQF_TRIGGER_FALLING,"my_irq", NULL);

if (rtn<0) {

printk("my_irq request irq false\n");

} else {

printk("my_irq request irq success: %d\n",irq_num);

}

printk("module_init sucessful!!!\n");

return 0;

}

/*卸載 */

void power_cleanup_module(void){

/*卸載相應(yīng)的設(shè)備驅(qū)動 */

unregister_chrdev(power_MAJOR,"power-detect-test");

device_destroy(my_class,MKDEV(power_MAJOR, 0));

class_destroy(my_class);

/*釋放GPIO*/

gpio_free(GPIO_NUM);

printk("module_exit sucessful!!!\n");

}

/*宏實現(xiàn) */

module_init(power_init_module);

module_exit(power_cleanup_module);

/*開源許可聲明 */

MODULE_LICENSE("GPL");

MODULE_AUTHOR("Zou");

應(yīng)用代碼:

#include

#include

#include

#include

#include

#include

static int fd;

/*內(nèi)核產(chǎn)生異步通知,調(diào)用該應(yīng)用層函數(shù)處理 */

void sigterm_handler(int signo)

{

printf("app irq work !!!\n");

}

int main(void)

{

int oflags;

fd=open("/dev/powerdetect",O_RDWR); //打開設(shè)備文件

/*啟動異步通知信號驅(qū)動機(jī)制 */

signal(SIGIO, sigterm_handler);

fcntl(fd, F_SETOWN, getpid());

oflags = fcntl(fd, F_GETFL);

fcntl(fd, F_SETFL, oflags | FASYNC);

/*建立一個死循環(huán),防止程序結(jié)束 */

while(1)

{

printf("sleep\n");

usleep(200000); //2ms

}

close(fd);

return 0;

}

將驅(qū)動編譯成模塊,上電加載并執(zhí)行應(yīng)用程序后,將電壓緩慢下調(diào)至掉電臨界點。觸發(fā)GPIO下降沿中斷,并提供應(yīng)用程序掉電信號。

wKgZomVMRI-AUhYrAABRAjOFBuU101.png

圖1..2掉電檢測

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

    關(guān)注

    12

    文章

    1908

    瀏覽量

    86641
  • 軟件測試
    +關(guān)注

    關(guān)注

    2

    文章

    238

    瀏覽量

    19093
  • 掉電檢測
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    2997
收藏 0人收藏

    評論

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

    瑞芯微RK3506 vs NXP i.MX6ULL

    NXPi.MX6ULL核心板進(jìn)行多方面對比。性能與能效對比性能優(yōu)勢對比:RK3506在接口方面比i.MX6ULL少2個UART,其他性能方面,RK3506以三核A7(1.
    的頭像 發(fā)表于 06-19 16:26 ?243次閱讀
    瑞芯微RK3506 vs NXP <b class='flag-5'>i.MX6ULL</b>

    618盛夏狂歡,米爾電子攜手恩智浦開啟年度技術(shù)盛宴!

    即日起-2025.06.30,米爾恩智浦多系列開發(fā)板限時折扣!米爾基于i.MX91、i.MX93、i.MX8MPlus、i.MX6UL/i.MX6U
    的頭像 發(fā)表于 06-13 08:03 ?177次閱讀
    618盛夏狂歡,米爾電子攜手恩智浦開啟年度技術(shù)盛宴!

    飛凌嵌入式ElfBoard ELF 1板卡-Uboot

    /SourceCode下載。不過我們目前使用的uboot源碼不是在這個網(wǎng)站下載的,而是由NXP公司提供的。NXP公司在推廣i.MX6ULL芯片時,會開發(fā)出一套i.MX6ULL EVK評估板給客戶進(jìn)行評估,同時也有
    發(fā)表于 05-22 10:44

    「2025恩智浦創(chuàng)新技術(shù)峰會」飛凌嵌入式亮相上海首站

    ,展示其在低成本人工智能、工業(yè)物聯(lián)網(wǎng)等領(lǐng)域的創(chuàng)新成果。此次峰會,飛凌嵌入式帶來了基于恩智浦i.MX95xx、i.MX9352、i.MX8MPlus和i.MX6ULL
    的頭像 發(fā)表于 05-15 13:38 ?575次閱讀
    「2025恩智浦創(chuàng)新技術(shù)峰會」飛凌嵌入式亮相上海首站

    ECB20-PG6Y28C-I 單板機(jī)深度測評報告 ——工業(yè)級嵌入式開發(fā)的強(qiáng)力助手

    ECB20-PG6Y28C-I?是成都億佰特電子科技基于 i.MX6ULL 處理器推出的工業(yè)級測試底板,搭配 ECK20-6Y28C 系列核心板,專為高性能嵌入式場景設(shè)計。其核心亮點在
    的頭像 發(fā)表于 04-22 11:49 ?252次閱讀

    如何在i.MX6ULL睡眠時停止刷新LCD?

    為了更好的 EMC,我們需要在 i.MX6ULL 進(jìn)入睡眠狀態(tài)時停止 LCD 刷新。 能否實現(xiàn) ? 平臺: i.MX6ULL 系統(tǒng): Linux
    發(fā)表于 04-03 07:14

    如何維護(hù)i.MX6ULL的安全內(nèi)核?

    隨著即將出臺的 EU RED 3(3)def 和 EN 18031 法規(guī),修復(fù)已知的漏洞至關(guān)重要。對于基于 i.MX 6ULL 的系統(tǒng),在實踐中如何做到這一點? 我們目前
    發(fā)表于 04-01 08:28

    如何在i.MX6ULL定制板上啟用IO Expander PCA6416A的控制?

    我想知道如何在 i.MX6ULL 定制板上啟用 IO Expander PCA6416A 的控制。 我嘗試修改 imx6ul-14x14-evk.dtsi,將 pca6416 節(jié)點添加到 i
    發(fā)表于 03-26 07:10

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之USB_OTG

    ,這里不展開講)引腳接地了,并沒有連接到SOC檢測引腳,所以使用OTG功能,i.MX6ULL只能工作在device模式,當(dāng)做從設(shè)備使用。當(dāng)然也可以通過修改軟件,將此接口用作host模式。 將
    發(fā)表于 02-28 09:29

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之USB_OTG

    展開講)引腳接地了,并沒有連接到SOC檢測引腳,所以使用OTG功能,i.MX6ULL只能工作在device模式,當(dāng)做從設(shè)備使用。當(dāng)然也可以通過修改軟件,將此接口用作host模式。將USB_OTG2作為
    發(fā)表于 02-27 09:16

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之ENET

    ELF 1開發(fā)板網(wǎng)絡(luò)方案跟NXP i.MX6ULL EVK評估板的一樣,所以這里就簡單說明一下網(wǎng)絡(luò)在內(nèi)核設(shè)備樹的配置。 硬件原理 由于兩個網(wǎng)口涉及的引腳較多,而ELF 1開發(fā)板跟i.MX6ULL
    發(fā)表于 02-21 09:32

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之ENET

    ELF 1開發(fā)板網(wǎng)絡(luò)方案跟NXP i.MX6ULL EVK評估板的一樣,所以這里就簡單說明一下網(wǎng)絡(luò)在內(nèi)核設(shè)備樹的配置。 硬件原理 由于兩個網(wǎng)口涉及的引腳較多,而ELF 1開發(fā)板跟i.MX6ULL
    發(fā)表于 02-20 08:47

    【迅為電子】i.MX6UL和i.MX6ULL芯片區(qū)別與開發(fā)板對比

    【迅為電子】i.MX6UL和i.MX6ULL芯片區(qū)別與開發(fā)板對比
    的頭像 發(fā)表于 11-28 14:31 ?1259次閱讀
    【迅為電子】<b class='flag-5'>i.MX6</b>UL和<b class='flag-5'>i.MX6ULL</b>芯片區(qū)別與開發(fā)板對比

    【新品】i.MX6ULL工業(yè)嵌入式核心板!NXP低功耗MPU,LCD顯示

    核心板新品上市ECK20-6Y2XA系列核心板是億佰特基于NXPCortex-A7內(nèi)核i.MX6ULL處理器精心設(shè)計的,采用郵票孔連接的低成本、低功耗、高性價比、高可靠性的嵌入式核心板。可廣泛應(yīng)用于工業(yè)控制、HMI、IoT等領(lǐng)域。
    的頭像 發(fā)表于 11-15 01:04 ?549次閱讀
    【新品】<b class='flag-5'>i.MX6ULL</b>工業(yè)嵌入式核心板!NXP低功耗MPU,LCD顯示

    使用TPS6521815 PMIC為NXP i.MX 6ULL6UltraLite供電

    電子發(fā)燒友網(wǎng)站提供《使用TPS6521815 PMIC為NXP i.MX 6ULL6UltraLite供電.pdf》資料免費下載
    發(fā)表于 09-13 09:44 ?1次下載
    使用TPS6521815 PMIC為NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>6ULL</b>、<b class='flag-5'>6</b>UltraLite供電
    主站蜘蛛池模板: 精品国产露脸久久AV麻豆 | 纯肉巨黄H爆粗口男男分卷阅读 | 美女脱了内裤张开腿让男人爽 | 久久中文字幕免费高清 | 成人午夜精品久久久久久久秋霞 | 亚洲二区电影 | 2020亚洲色噜噜狠狠网站 | 美女脱了内裤张开腿让男人桶到爽 | 欧美三级在线完整版免费 | 又黄又爽又无遮挡在线观看免费 | 亚洲无AV在线中文字幕 | 18女下面流水不遮网站免费 | 亚洲欧洲日产国码久在线 | 99久久久无码国产精品不卡按摩 | 国产乱人精品视频AV麻豆 | 国产最新地址 | 入禽太深视频免费视频 | 成人国产免费 | 亚洲视频一区在线 | 国产精品点击进入在线影院高清 | 一区两区三不卡 | 欧美成人性色生活18黑人 | 亚洲2023无矿砖码砖区 | yellow片在线观看免费观看动漫 | 秋霞在线观看视频一区二区三区 | 国产精品A久久久久久久久 国产精品A久久777777 | 午夜性伦鲁啊鲁免费视频 | 美女教师朝桐光在线播放 | 国产日韩精品一区二区三区在线 | 欧美最猛黑人XXXXWWW | 99人精品福利在线观看 | 国产浮力草草影院CCYY | 2020年国产理论 | adc高清在线观看 | 秋霞伦理手机在线看片 | 一级黄色香蕉视频 | 91精品国产色综合久久 | 色综合久久五月 | 秋霞伦理电影在线看 | GAY东北澡堂激情2022 | 欧美人与动牲交ZOOZ特 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品