哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

3天內不再提示

一文解析蜂鳴器驅動及LED驅動編寫

454398 ? 來源:博客園 ? 作者:z572089387 ? 2020-09-23 15:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一:LED驅動編寫

要編寫LED驅動,首先的知道開發(fā)板的構造;開發(fā)板分為核心板與底板;編寫驅動的第一步就是要看開發(fā)板,找到LED燈在開發(fā)板上的位置及所對應的名字;第一步就要查看核心板電路圖,以及底板電路圖;最后就是查看開發(fā)板手冊,然后進行程序編寫:

通過看開發(fā)板我們可以知道LED燈的位置的核心板上,在核心板上找到LED的電路圖,Ctrl+F可以在文檔中快捷查找:

通過電路圖我們可以看出:LED燈的一端已經(jīng)接高電平,只要給另一端加低電平LED就會被點亮。

然后查看LED在核心板上的引腳:

一文解析蜂鳴器驅動及LED驅動編寫

由上圖我們可以看出,LED1對應的是GPM4_0

然后通過芯片數(shù)據(jù)手冊可以查到它的具體用法:

通過手冊我們可以看出:GPM4CON 置一輸出,表示控制,置零輸入,表示檢測,GPM4DAT表示它的值和引腳的電壓狀態(tài)對于,值為一時表示高電平,值為零時表示底電平,下面貼出代碼:

 1     .global main
 2 main:
 3     mov ip, sp
 4     sub sp, sp, #12
 5     stmdb sp!, {fp, ip, lr}
 6     add fp, sp, #8
 7 
 8     ldr r3, gpmcon
 9     ldr r0, =0x1
10     str r0, [r3]
11 
12     ldr r3, gpmdat
13     ldr r0, =0x0
14     str r0, [r3]
15 
16     add sp, fp, #4
17     ldmdb sp, {fp, sp, pc}    
18 
19 gpmcon:
20     .word 0x110002e0
21 
22 gpmdat:
23     .word 0x110002e4

下面的用C語言代碼是實現(xiàn)四個LED燈的閃爍

 1 #define GPM4CON (*(unsigned long *)0x110002e0)//宏定義
 2 #define GPM4DAT (*(unsigned long *)0x110002e4)
 3 
 4 void (*udelay)(int) = 0xc3e25f90;
 5 int main()
 6 {
 7     GPM4CON &= ~0xffff;
 8     GPM4CON |= 0x1111;
 9     
10     while(1) {
11         GPM4DAT |= 0xf;//led off
12         udelay(250000);
13         GPM4DAT &= ~0xf;
14         udelay(250000);//led on
15     }    
16 }

跑馬燈:

 1 #define GPM4CON (*(unsigned long *)0x110002e0)
 2 #define GPM4DAT (*(unsigned long *)0x110002e4)
 3 
 4 void (*udelay)(int) = 0xc3e25f90;
 5 
 6 int main()
 7 {
 8     
 9     GPM4CON &= ~0xffff;
10     GPM4CON |= 0x1111;
11     unsigned long tmp = 0xf;
12 
13     while(1) {
14 
15         if((tmp & 0xf) == 0) {
16             tmp = 0xf;
17         }
18 
19         GPM4DAT = tmp << 1;
20         tmp = GPM4DAT;
21         udelay(250000);
22 
23     }
24 
25 }

流水燈:

 1 #define GPM4CON (*(unsigned long *)0x110002e0)
 2 #define GPM4DAT (*(unsigned long *)0x110002e4)
 3 
 4 void (*udelay)(int) = 0xc3e25f90;
 5 
 6 int main()
 7 {
 8     
 9     GPM4CON &= ~0xffff;
10     GPM4CON |= 0x1111;
11     unsigned long i = 0;
12     while(1) {
13         GPM4DAT = 0xf;
14         GPM4DAT &= ~(1 << i);//流水
15         udelay(500000);//延時
16         i++;
17         if(i == 4) {
18             i = 0;
19         } 
20     }
21 
22 }

上面程序總用到的延時函數(shù)udelay(),由于U-Boot作為嵌入式Linux系統(tǒng)的引導,不具有標準C庫中的內容。要使用像printf函數(shù),延時函數(shù)udelay(),就需要u-boot中提供的。u-boot函數(shù)內容在u-boot源碼文件中就需要u-boot中提供的。u-boot函數(shù)內容在u-boot源碼文件中的System.map文件中。System.map文件是被內核所使用的符號表。符號表是一個在符號名稱與它們的存儲器位置間的查詢表格。符號名稱可能是變量的名稱或是函數(shù)名稱。當要查詢符號名稱的位置或是特定位置的符號名稱時,就會需要System.map。找到函數(shù)的對應地址,就可以對它進行使用了;

二:蜂鳴器驅動編寫:

通過開發(fā)板我們可以看出蜂鳴器位于底板:

查看電路圖:

通過查看底板手冊可知,當XpwmTOUT0處于高電平是蜂鳴器就會響起;通過XpwmTOUT0我們在核心板上找到它的引腳

然后查看芯片手冊:

由圖我們可以看出GPD0CON為0x1時控制控制:GPD0DAT為1為高電平:下面貼出匯編代碼:

 1     .global main
 2 main:
 3     mov ip, sp
 4     sub sp, sp, #12
 5     stmdb sp!, {fp, ip, lr}
 6     add fp, sp, #8
 7 
 8     ldr r3, gpdcon
 9     ldr r0, =0x1
10     str r0, [r3]
11 
12     ldr r3, gpmdat
13     ldr r0, =0x1
14     str r0, [r3]
15 
16     add sp, fp, #4
17     ldmdb sp, {fp, sp, pc}    
18 
19 gpdcon:
20     .word 0x114000a0
21 
22 gpmdat:
23     .word 0x114000a4

C語言的代碼:

 1 #define GPD0CON (*(volatile unsigned long*)0x114000a0)
 2 #define GPD0DAT (*(volatile unsigned long*)0x114000a4)
 3 
 4 void (*udelay)(int) = 0xc3e25f90;
 5 int main(void)
 6 {   
 7     GPD0CON =  0x0001;
 8     while(1){
 9         GPD0DAT = 0x1;
10         udelay(250000);
11         GPD0DAT = 0x0;
12         udelay(250000);//延時
13     }
14     
15     return 0;
16 }
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    244

    文章

    24705

    瀏覽量

    692400
  • 存儲器
    +關注

    關注

    39

    文章

    7753

    瀏覽量

    172169
  • LED驅動
    +關注

    關注

    73

    文章

    1094

    瀏覽量

    142741
  • 蜂鳴器
    +關注

    關注

    12

    文章

    900

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SGM31360:36 通道 LED 驅動芯片的詳細解析

    SGM31360:36 通道 LED 驅動芯片的詳細解析 在電子設備的 LED 顯示領域,款優(yōu)質的驅動
    的頭像 發(fā)表于 03-25 17:05 ?401次閱讀

    SGM3726:高效PWM調光白光LED驅動芯片的深度解析

    SGM3726:高效PWM調光白光LED驅動芯片的深度解析 在電子設計領域,LED照明技術不斷發(fā)展,對于高效、穩(wěn)定的LED
    的頭像 發(fā)表于 03-25 10:40 ?232次閱讀

    TPS61042:高性能LED驅動芯片的深度解析

    TPS61042:高性能LED驅動芯片的深度解析 在電子設備的設計中,LED驅動芯片的性能直接影響著設備的顯示效果和穩(wěn)定性。TPS61042
    的頭像 發(fā)表于 02-27 16:15 ?314次閱讀

    深入解析LM27952:高效白光LED驅動芯片的全方位洞察

    深入解析LM27952:高效白光LED驅動芯片的全方位洞察 在電子設備中,白光LED因其高效節(jié)能、壽命長等優(yōu)點,被廣泛應用于顯示背光、鍵盤背光等領域。而TI的LM27952作為
    的頭像 發(fā)表于 02-27 15:35 ?185次閱讀

    LT1932:高效LED驅動芯片的設計與應用解析

    LT1932:高效LED驅動芯片的設計與應用解析 在電子工程師的日常設計中,LED驅動電路是
    的頭像 發(fā)表于 02-03 10:00 ?242次閱讀

    LTC3212 RGB LED 驅動芯片深度解析

    LTC3212 RGB LED 驅動芯片深度解析 在電子設備的顯示與照明應用中,RGB LED 驅動芯片扮演著至關重要的角色。今天我們就來深
    的頭像 發(fā)表于 02-02 15:35 ?320次閱讀

    LT3746:高效32通道LED驅動芯片的解析與應用

    LT3746:高效32通道LED驅動芯片的解析與應用 在現(xiàn)代電子設備中,LED顯示技術的應用愈發(fā)廣泛,從大型屏幕顯示到各類指示燈,對LED
    的頭像 發(fā)表于 02-02 13:55 ?383次閱讀

    LT3478:高性能LED驅動芯片的深度解析

    LT3478/LT3478 - 1:高性能LED驅動芯片的深度解析 引言 在當今的電子設備中,LED照明因其高效、節(jié)能、壽命長等優(yōu)點得到了廣泛應用。而
    的頭像 發(fā)表于 02-02 10:35 ?310次閱讀

    ADP8863:多功能LED驅動芯片的深度解析

    ADP8863:多功能LED驅動芯片的深度解析 在電子設計領域,LED驅動芯片的性能和功能對于產(chǎn)品的表現(xiàn)至關重要。今天,我們就來深入探討
    的頭像 發(fā)表于 02-02 10:20 ?844次閱讀

    ADP8860:多功能LED驅動芯片的全解析

    ADP8860:多功能LED驅動芯片的全解析 在現(xiàn)代電子設備中,LED驅動芯片的性能直接影響著顯示效果和能源利用效率。ADP8860作為
    的頭像 發(fā)表于 02-02 09:55 ?690次閱讀

    LT3950:多功能LED驅動芯片的全面解析

    LT3950:多功能LED驅動芯片的全面解析 在電子工程師的日常工作中,LED驅動芯片的選擇至關重要。今天我們要深入探討的是
    的頭像 發(fā)表于 01-30 11:00 ?494次閱讀

    LT3909:高性能2MHz升壓LED驅動器的深度解析

    推出的LT3909正是款滿足這些需求的高性能2MHz升壓LED驅動器。本文將對LT3909進行全面深入的解析,為電子工程師們在設計相關電路時提供參考。 文件下載: LT3909.pd
    的頭像 發(fā)表于 01-30 10:55 ?859次閱讀

    LED1642GW:16通道LED驅動芯片的深度解析

    LED1642GW:16通道LED驅動芯片的深度解析LED面板顯示領域,款性能卓越的
    的頭像 發(fā)表于 01-26 17:30 ?779次閱讀

    深入解析LED7708:高效LED驅動的理想之選

    深入解析LED7708:高效LED驅動的理想之選 在當今的電子世界中,LED照明和顯示技術的應用越來越廣泛,從電視、顯示器的背光源到各種照明
    的頭像 發(fā)表于 01-26 17:25 ?813次閱讀

    關于有源蜂鳴器及無源蜂鳴器的區(qū)別及驅動各類單片機案例

    本文主要介紹了有源無源蜂鳴器的本質區(qū)別,引腳判斷和對應的驅動程序,對我們選用蜂鳴器元件指引了方向
    的頭像 發(fā)表于 07-22 09:45 ?3032次閱讀
    關于有源<b class='flag-5'>蜂鳴器</b>及無源<b class='flag-5'>蜂鳴器</b>的區(qū)別及<b class='flag-5'>驅動</b>各類單片機案例
    栖霞市| 新乐市| 潞城市| 门源| 边坝县| 秦安县| 岳阳县| 浦城县| 石楼县| 陇南市| 禹城市| 阜城县| 东源县| 和林格尔县| 兴和县| 织金县| 泰顺县| 师宗县| 建德市| 昭苏县| 洛阳市| 定西市| 新泰市| 定日县| 宁海县| 来宾市| 任丘市| 湖南省| 绍兴市| 宁远县| 麦盖提县| 萝北县| 年辖:市辖区| 延寿县| 炎陵县| 楚雄市| 库尔勒市| 巴林左旗| 太湖县| 原阳县| 思茅市|