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

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

3天內不再提示

Linux應用開發(fā)【第九章】GPIO編程應用開發(fā)

weidongshan ? 來源:weidongshan ? 作者:weidongshan ? 2021-12-10 19:21 ? 次閱讀

文章目錄

  • 9 GPIO編程應用開發(fā)
    • 9.1 GPIO編程基礎介紹
    • 9.2 GPIO編程軟件接口
    • 9.3 IMX6ULL開發(fā)板GPIO編號的確定
      • 9.3.1 LED的GPIO編號計算
      • 9.3.2 按鍵的GPIO編號計算
      • 9.3.3 特殊情況下的GPIO編號計算
    • 9.4 實際編程操作
      • 9.4.1 導出GPIO口
      • 9.4.2 設置GPIO方向
      • 9.4.3 GPIO輸出實驗-LED輸出控制
      • 9.4.4 GPIO輸入試驗-按鍵值讀取
      • 9.4.5 LED和按鍵控制實驗

9 GPIO編程應用開發(fā)

9.1 GPIO編程基礎介紹

? GPIO(General-Purpose IO Ports),即通用IO接口。GPIO的使用較為簡單,主要分為輸入和輸出兩種功能。GPIO主要用于實現(xiàn)一些簡單設備的控制。在作為輸入型GPIO的情況下,我們可以將該IO連接外部按鍵或者傳感器,用于檢測外部狀態(tài)。當作為輸出時,我們可以通過輸出高低電平來控制外部設備的運轉。

? 由于GPIO的功能多種多樣,我們需要首先將引腳設置為GPIO。設置為GPIO之后,我們需要設置GPIO的方向。當設置為輸出時,我們可以控制輸出高電平或者低電平。當設置為輸入時,我們可以讀取GPIO的電平來判斷外部輸入電平的高低。

9.2 GPIO編程軟件接口

? GPIO編程有多種實現(xiàn)方式,在這里,我們通過sysfs方式來實現(xiàn)GPIO的控制實現(xiàn)。

? 如果要通過sysfs方式控制gpio,首先需要底層內核的支持。為了實現(xiàn)內核對sysfs gpio的支持,我們需要在內核中進行設置。在編譯內核的時候,加入 Device Drivers-> GPIO Support ->/sys/class/gpio/… (sysfs interface)。作為GPIO的引腳,不允許在內核中被用作其他用途。

? 在系統(tǒng)正常運行之后,我們可以在/sys/class/gpio下看到sysfs控制相關的接口。有三種類型的接口, 分別是控制接口,GPIO信號和GPIO控制器三種接口。這部分的具體介紹可參考《kernelDocumentationgpiosysfs.txt》。

9.2.1 控制接口

? 控制接口用于實現(xiàn)在用戶空間對GPIO的控制,主要包括/sys/class/gpio/export和/sys/class/gpio/unexport兩個接口。這這兩個控制接口都是只寫的,/sys/class/gpio/export實現(xiàn)將GPIO控制從內核空間導出到用戶空間,/sys/class/gpio/unexport用于實現(xiàn)取消GPIO控制從內核空間到用戶空間的導出。

? 下面以引腳編號為19的GPIO為例進行說明,在/sys/class/gpio/目錄下,我們執(zhí)行"echo 19 > export"之后,將會產生一個”gpio19”節(jié)點來控制引腳編號為19的GPIO。我們執(zhí)行"echo 19 > unexport"之后,將會刪除之前通過export產生的”gpio19”節(jié)點。為了使用gpio,我們需要首先使用/sys/class/gpio/export導出gpio引腳編號。完成使用之后,通過/sys/class/gpio/unexport刪除掉之前導出的gpio引腳。

9.2.2 GPIO信號

? GPIO信號,即為GPIO本身,其路徑為/sys/class/gpio/gpioN/,擁有多個屬性。通過對這些屬性進行控制,就可以實現(xiàn)對GPIO的控制。

“direction”屬性,讀取的值為”in”或者”out”。通過對該屬性寫入”in”或者”out”可以設置該GPIO為輸入或者輸出。如果直接寫入”out”,則會使GPIO直接輸出低電平。也可以通過寫入”low”或者”high”來直接設置輸出低電平或者高電平。

”value”屬性,用于讀取輸入電平或者控制輸出電平。如果GPIO為輸出,則對value寫入0為輸出低電平,寫入非0為輸出高電平。如果設置為輸入的話,則讀到0表示輸入為低電平,1為高電平。

”edge”屬性,用于設置觸發(fā)電平,只有在GPIO可以設置為中斷輸入引腳時才會出現(xiàn)該屬性。

9.2.3 GPIO控制器

? GPIO控制器,用于表示GPIO 控制實現(xiàn)的初始GPIO,其路徑為/sys/class/gpio/gpiochipN/。比如/sys/class/gpio/gpiochip42/ 則表示實現(xiàn)GPIO控制器的初始化編號為42。GPIO控制器的屬性為只讀屬性,包括base、label和ngpio等多個。

”base”屬性,和gpiochipN的N代表的含義相同,表示被該組GPIO控制器實現(xiàn)的第一個GPIO.

” ngpio”屬性,用于表示該控制器支持多少個GPIO,支持的GPIO編號為從N到N+ngpio-1

” label”屬性,用于判斷控制器,并不總是唯一的

9.3 IMX6ULL開發(fā)板GPIO編號的確定

? 每個芯片可以有N組GPIO,每組GPIO最多有32個GPIO,即最多有N*32個GPIO。但是在實際設計中,每組的GPIO數(shù)量各有不同。在IMX6ULL中,實際每組擁有的GPIO數(shù)量如下圖所示,具體詳見《IMX6ULLRM.pdf》手冊1347頁。

? 從上圖可以看到,在IMX6ULL中,共有5組GPIO,起始GPIO組為GPIO1。因此在實際GPIO編號計算中,第一組GPIO1對應的編號為031。以此類推,IMX6ULL的GPION_X(N=15,X=0~31對應的編號實際為(N-1)*32+X。接下來,我們以板載的LED和按鍵各自對應的GPIO為例來說明如何在實際應用中計算GPIO編號。

9.3.1 LED的GPIO編號計算

? 從原理圖中找到對應LED的設計,具體的連接如下圖所示。從圖中我們可以看到,LED連接到的GPIO為GPIO5_3,其對應的GPIO編號實際為(5-1)*32+3 = 131。因此,我們如果要在sys_gpio中操作LED,我們就需要將編號131的GPIO進行導出。

9.3.2 按鍵的GPIO編號計算

? 從原理圖中找到對應按鍵的設計,底板有2個按鍵,具體的連接如下圖所示。從圖中我們可以看到,兩個按鍵連接到的GPIO分別為GPIO5_1和GPIO4_14,第一個按鍵KEY1對應的GPIO編號為(5-1) *32+1 = 129,第二個按鍵KEY2對應的GPIO編號為(4-1) *32+14=110。因此,我們如果要在sys_gpio中讀取按鍵KEY1和KEY2的值,,我們就需要將編號129和110的GPIO進行導出。

9.3.3 特殊情況下的GPIO編號計算

? 在有些情況下,起始的gpiochipN不是gpiochip0。這個時候 ,我們就需要在原有的GPIO編號基礎上加上起始gpiochipN值進行計算。下圖所示的為其實gpiochip為gpiochip0的情況。

9.4 實際編程操作

? 在實際操作中,我們使用LED和按鍵實現(xiàn)了GPIO輸出和輸入的實驗,相關的實驗過程和相關代碼如下。

9.4.1 導出GPIO口

? 為了導出GPIO口,我們需要向/sys/class/gpio/export寫入需要導出的引腳編號。在使用之后,我們也可以使用/sys/class/gpio/unexport取消導出引腳編號。

? 導出引腳編號的實現(xiàn)代碼如下所示,具體詳見《sysfs_gpio_1_export_gpio sysfs_gpio_export.c》的sysfs_gpio_export()函數(shù)。

32 int sysfs_gpio_export(unsigned int gpio)
33 {
34     int fd, len;
35     char buf[MAX_BUF];
36 	// /sys/class/gpio/export
37     fd = open( "/sys/class/gpio/export", O_WRONLY);//打開文件
38     if (fd < 0) {
39         perror("gpio/export");
40         return fd;
41     }
42  
43     len = snprintf(buf, sizeof(buf), "%d", gpio);//從數(shù)字變換為字符串,即1 變?yōu)椤?“
44     write(fd, buf, len);//將需要導出的GPIO引腳編號進行寫入
45     close(fd);//關閉文件
46  
47     return 0;
48 }

? 取消導出引腳編號的實現(xiàn)代碼如下所示,具體詳見《sysfs_gpio_export.c》的sysfs_gpio_unexport()函數(shù)。

59 int sysfs_gpio_unexport(unsigned int gpio)
60 {
61     int fd, len;
62     char buf[MAX_BUF];
63 	// /sys/class/gpio/unexport
64     fd = open("/sys/class/gpio/unexport", O_WRONLY);//打開文件
65     if (fd < 0) {
66         perror("gpio/export");
67         return fd;
68     }
69  
70     len = snprintf(buf, sizeof(buf), "%d", gpio);//從數(shù)字變換為字符串,即1 變?yōu)椤?“
71     write(fd, buf, len);//將需要取消導出的GPIO引腳編號進行寫入
72     close(fd);//關閉文件
73     return 0;
74 }

? 在實現(xiàn)導出和取消導出引腳編號的函數(shù)之后,我們來實現(xiàn)具體的引腳編號的導出。LED和按鍵各自對應的引腳編號如下所示

11 #define GPIO4_14	110
12 #define GPIO5_1 	129
13 #define GPIO5_3	131 	
14 
15 #define GPIO_KEY1     GPIO4_14
16 #define GPIO_KEY2     GPIO5_1
17 #define GPIO_LED	  	 GPIO5_3

? 在確定了各自對應的引腳編號,我們就可以進行導出了。具體實現(xiàn)代碼在程序文件《sysfs_gpio_1_export_gpio/sysfs_gpio_export.c》中main函數(shù),下為對應代碼部分,我們將LED和按鍵對應的引腳都進行了導出。

183 int main(int argc, char **argv) {
184     unsigned int i;
185     unsigned int value1,value2;
186    
187 	printf("t********************************************n");
188     printf("t********  SYSFS_GPIO_TEST_DEMO**************n");
189     printf("t******** version date: 2020/05    **********n");
190     printf("t********************************************n");    
191 
192 	printf("gpio begin to export gpiorn");
193     sysfs_gpio_export(GPIO_KEY1);//export gpio key1
194     sysfs_gpio_export(GPIO_KEY2);//export gpio key2
195     sysfs_gpio_export(GPIO_LED);//export gpio led
196     printf("gpio export gpio okrn");
197 
198 
199     return 0;
200 }

? 在將代碼編譯之后,我們將代碼在板卡上進行運行。代碼運行之后的的結果如下圖所示,可以看到成功的將GPIO110、GPIO129和GPIO131進行了導出。

9.4.2 設置GPIO方向

? 為了實現(xiàn)導出的引腳的方向設置,我們需要對/sys/class/gpio/gpioN/direction寫入不同的值。寫入“in”則表示設置為輸入,寫入“out”則表示設置為輸出。設置引腳編號的的實現(xiàn)代碼如下所示,具體詳見《sysfs_gpio_2_export_gpio sysfs_gpio_export.c》的sysfs_gpio_set_dir ()函數(shù)。

86 int sysfs_gpio_set_dir(unsigned int gpio, unsigned int out_flag)
87 {
88     int fd, len;
89     char buf[MAX_BUF];
90 	// /sys/class/gpio/gpioN/direction
91     len = snprintf(buf, sizeof(buf), SYSFS_GPIO_DIR  "/gpio%d/direction", gpio);
92  
93     fd = open(buf, O_WRONLY);//打開文件
94     if (fd < 0) {
95         perror(buf);
96         return fd;
97     }
98  
99     if (out_flag)//為1,則寫入“out",即設置為輸出
100         write(fd, "out", 4);
101     else//為0,則寫入“in",即設置為輸入
102         write(fd, "in", 3);
103  
104     close(fd);//關閉文件
105     return 0;
106 }

? 在實現(xiàn)引腳方向的設置函數(shù)之后,我們分別針對按鍵和LED設置各自不同的方向。將按鍵設置為輸入“IN”,將LED設置為輸出“out”,對應的代碼如下圖所示。相關的代碼在程序文件《sysfs_gpio_2_export_gpio/sysfs_gpio_export.c》中main函數(shù),下為對應代碼部分。

183 int main(int argc, char **argv) {
184     unsigned int i;
185     unsigned int value1,value2;
186    
187 	printf("t********************************************n");
188     printf("t********  SYSFS_GPIO_TEST_DEMO**************n");
189     printf("t******** version date: 2020/05    **********n");
190     printf("t********************************************n");    
191 		
192 	printf("begin to export gpio and directionrn");
193     sysfs_gpio_export(GPIO_KEY1);//export gpio key1
194     sysfs_gpio_export(GPIO_KEY2);//export gpio key2
195     sysfs_gpio_export(GPIO_LED);//export gpio led
196 
197     sysfs_gpio_set_dir(GPIO_KEY1, 0);//set as input
198     sysfs_gpio_set_dir(GPIO_KEY2, 0);//set as input
199     sysfs_gpio_set_dir(GPIO_LED, 1);//set as output
200     printf(" export gpio and direction okrn");
201 
202 
203 
204     return 0;
205 }

? 在將代碼編譯之后,我們將代碼在板卡上進行運行。代碼運行之后的的結果如下圖所示,我們可以看到按鍵GPIO110和GPIO129的方向設置成了輸入,LED2的GPIO131設置成了輸入。

9.4.3 GPIO輸出實驗-LED輸出控制

? 為了設置引腳的輸出電平高低,我們需要對/sys/class/gpio/gpioN/value寫入不同的值。寫入‘1’則表示輸出高電平,寫入‘0’則表示輸出低電平。設置引腳輸出高低電平的的實現(xiàn)代碼如下所示,具體詳見《sysfs_gpio_3_export_gpio sysfs_gpio_export.c》的sysfs_gpio_set_value ()函數(shù)。

119 int sysfs_gpio_set_value(unsigned int gpio, unsigned int value)
120 {
121     int fd, len;
122     char buf[MAX_BUF];
123 	// /sys/class/gpio/gpioN/value
124     len = snprintf(buf, sizeof(buf), SYSFS_GPIO_DIR "/gpio%d/value", gpio);
125  
126     fd = open(buf, O_WRONLY);//打開文件
127     if (fd < 0) {
128         perror(buf);
129         return fd;
130     }
131  
132     if (value)//為1,則寫入“1",即設置為輸出高電平
133         write(fd, "1", 2);
134     else//為0,則寫入“0",即設置為輸出低電平
135         write(fd, "0", 2);
136  
137     close(fd);//關閉文件
138     return 0;
139 }

? 在實現(xiàn)引腳輸出電平的控制函數(shù)之后,我們來實現(xiàn)LED的控制。我們通過將“1”或“0”寫入value來控制GPIO輸出高電平或者低電平,具體相關的代碼在程序文件《sysfs_gpio_3_export_gpio/sysfs_gpio_export.c》中main函數(shù),下為對應代碼部分。

183 int main(int argc, char **argv) {
184     unsigned int i;
185     unsigned int value1,value2;
186    
187 	printf("t********************************************n");
188     printf("t********  SYSFS_GPIO_TEST_DEMO**************n");
189     printf("t******** version date: 2020/05    **********n");
190     printf("t********************************************n");    
191 		
192 	printf("led begin to initrn");
193     sysfs_gpio_export(GPIO_LED);//export gpio led
194 
195     sysfs_gpio_set_dir(GPIO_LED, 1);//set as output
196     printf("led init okrn");
197 
198 
199     /* Confirm INIT_B Pin as High */
200 	while(1)
201 	{
202     
203        
204 		sysfs_gpio_set_value(GPIO_LED, 1);//output high 
205 		printf("led offrn");
206 		usleep(500000);	//delay	
207 		sysfs_gpio_set_value(GPIO_LED, 0);//output low 
208 		printf("led onrn");
209 		usleep(500000);//delay
210     }
211 	
212     sysfs_gpio_unexport(GPIO_LED);//unexport gpio led
213 
214     return 0;
215 }

? 在將代碼編譯之后,我們將代碼在板卡上進行運行。代碼運行之后的的結果如下圖所示, 可以看到規(guī)律性的打印LED控制信息(實物可以看到LED燈閃爍)。

9.4.4 GPIO輸入試驗-按鍵值讀取

? 為了讀取引腳輸入的電平高低,我們需要讀取/sys/class/gpio/gpioN/value的值。讀到的是‘1’則表輸入為高電平,讀到的是‘0’則表示輸入為低電平。讀取引腳輸入電平的、的的實現(xiàn)代碼如下所示,具體詳見《sysfs_gpio_4_export_gpio sysfs_gpio_export.c》的sysfs_gpio_get_value ()函數(shù)。

152 int sysfs_gpio_get_value(unsigned int gpio, unsigned int *value)
153 {
154     int fd, len;
155     char buf[MAX_BUF];
156     char ch;
157 	// /sys/class/gpio/gpioN/value
158     len = snprintf(buf, sizeof(buf), SYSFS_GPIO_DIR "/gpio%d/value", gpio);
159  
160     fd = open(buf, O_RDONLY);//打開文件
161     if (fd < 0) {
162         perror("gpio/get-value");
163         return fd;
164     }
165  
166     read(fd, &ch, 1);//讀取外部輸入電平
167 
168     if (ch != '0') {//為'1',則設置為1,即輸入為高電平
169         *value = 1;
170     } else {//為'0',則設置為0,即輸入為低電平
171         *value = 0;
172     }
173  
174     close(fd);//關閉文件
175     return 0;
176 }

? 在實現(xiàn)引腳電平讀取函數(shù)之后,我們來實現(xiàn)外部按鍵值得讀取,我們通過讀取value的值來讀取按鍵值,具體相關的代碼在程序文件《sysfs_gpio_4_export_gpio/sysfs_gpio_export.c》中main函數(shù),下為對應代碼部分。

183 int main(int argc, char **argv) {
184     unsigned int i;
185     unsigned int value1,value2;
186    
187 	printf("t********************************************n");
188     printf("t********  SYSFS_GPIO_TEST_DEMO**************n");
189     printf("t******** version date: 2020/05    **********n");
190     printf("t********************************************n");    
191 		
192 	printf("key begin to initrn");
193     sysfs_gpio_export(GPIO_KEY1);//export gpio key1
194     sysfs_gpio_export(GPIO_KEY2);//export gpio key2
195     
196     sysfs_gpio_set_dir(GPIO_KEY1, 0);//set as input
197     sysfs_gpio_set_dir(GPIO_KEY2, 0);//set as input
198    
199     printf("key init okrn");
200 
201 
202     /* Confirm INIT_B Pin as High */
203 	while(1)
204 	{
205     
206         sysfs_gpio_get_value(GPIO_KEY1, &value1);	//read key1 value	
207 		//printf("@@key1 value 1is %d nr",value1);
208 		if(value1==0)//key1 pressed
209 		{
210 			printf("@@key1 is pressed 0nr");			
211 		}
212 		sysfs_gpio_get_value(GPIO_KEY2, &value2);//read key2 value	
213 		//printf("##key2 value 1is %d nr",value2);
214 		if(value2==0)//key2 pressed
215 		{
216 			printf("##key2 is pressed 0nr");			
217 		}
218 		usleep(100000);//delay
219 				
220     }
221 	
222 	sysfs_gpio_unexport(GPIO_KEY1);//unexport gpio key1
223     sysfs_gpio_unexport(GPIO_KEY2);//unexport gpio key2
224    
225 
226     return 0;
227 }

? 在將代碼編譯之后,我們將代碼在板卡上進行運行。代碼運行之后的的結果如下圖所示,我們可以看到在按鍵KEY1和KEY2按下之后打印的值各有不同。

9.4.5 LED和按鍵控制實驗

? 在前幾個實驗中,我們分別實現(xiàn)了LED和按鍵各自的控制。在這個實驗中,我們將前幾個實驗進行整合,控制LED得閃爍,并讀取按鍵得值。當按鍵按下時,打印相關信息。具體相關的代碼在程序文件《sysfs_gpio_5_export_gpio/sysfs_gpio_export.c》中main函數(shù),下為對應代碼部分

183 int main(int argc, char **argv) {
184     unsigned int i;
185     unsigned int value1,value2;
186    
187 	printf("t********************************************n");
188     printf("t********  SYSFS_GPIO_TEST_DEMO**************n");
189     printf("t******** version date: 2020/05    **********n");
190     printf("t********************************************n");    
191 		
192 	printf("led&key begin to initrn");
193     sysfs_gpio_export(GPIO_KEY1);//export gpio key1
194     sysfs_gpio_export(GPIO_KEY2);//export gpio key2
195     sysfs_gpio_export(GPIO_LED);//export gpio led
196     sysfs_gpio_set_dir(GPIO_KEY1, 0);//set as input
197     sysfs_gpio_set_dir(GPIO_KEY2, 0);//set as input
198     sysfs_gpio_set_dir(GPIO_LED, 1);//set as output
199     printf("led&key init okrn");
200 
201 
202     /* Confirm INIT_B Pin as High */
203 	while(1)
204 	{
205     
206         sysfs_gpio_get_value(GPIO_KEY1, &value1);	//read key1 value		
207 		//printf("@@key1 value 1is %d nr",value1);
208 		if(value1==0)//key1 pressed
209 		{
210 			printf("@@key1 is pressed 0nr");			
211 		}
212 		sysfs_gpio_get_value(GPIO_KEY2, &value2);//read key2 value	
213 		//printf("##key2 value 1is %d nr",value2);
214 		if(value2==0)//key2 pressed
215 		{
216 			printf("##key2 is pressed 0nr");			
217 		}
218 		//led flash 
219 		sysfs_gpio_set_value(GPIO_LED, 1);
220 		printf("LED OFFnr");		
221 		usleep(500000);
222 		sysfs_gpio_set_value(GPIO_LED, 0);
223 		printf("LED ONnr");		
224 		usleep(500000);
225     }
226 	
227 	sysfs_gpio_unexport(GPIO_KEY1);//unexport gpio key1
228     sysfs_gpio_unexport(GPIO_KEY2);//unexport gpio key2
229     sysfs_gpio_unexport(GPIO_LED);//unexport gpio led
230 
231     return 0;
232 }

? 在將代碼編譯之后,我們將代碼在板卡上進行運行。代碼運行之后的的結果如下圖所示,可以看到LED閃爍,按鍵KEY1和KEY2按下之后打印的值各有不同(因為LED的閃爍導致按鍵需要經(jīng)過一次LED閃爍之后才能讀取,因此按鍵必須一直按著才能讀取到值的變化)。



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

    關注

    87

    文章

    11171

    瀏覽量

    208480
  • GPIO
    +關注

    關注

    16

    文章

    1182

    瀏覽量

    51740
收藏 人收藏

    評論

    相關推薦

    Linux操作系統(tǒng)-C語言編程入門介紹在LINUX 下進行C 語言編程所需要的基礎知識.在這篇

    …………………………………………27第五 信號處理 …………………………………………31第六 消息管理 ……………………………………………39第七 線程操作 ………………………………49第八
    發(fā)表于 12-08 09:56

    書籍教程:linux操作系統(tǒng)下c語言編程入門

    …………………………………………………………………………49第八 網(wǎng)絡編程 …………………………………………………………………………54第九章 Linux 下C
    發(fā)表于 07-26 22:34

    《測控電路》習題完整參考答案(第九章

    《測控電路》習題完整參考答案(第九章
    發(fā)表于 05-07 11:41

    C語言編程入門(linux環(huán)境)

    消息管理 …………………………………………………………………………39第七 線程操作 …………………………………………………………………………49第八 網(wǎng)絡編程 …………………………………………………………………………54
    發(fā)表于 12-19 13:57

    Sklearn與TensorFlow機器學習實用指南——第九章習題答案

    Sklearn 與 TensorFlow 機器學習實用指南——第九章習題答案
    發(fā)表于 05-13 13:28

    嵌入式Linux開發(fā)流程中的各個步驟

    基礎第三 ARM體系架構第四 嵌入式編程開發(fā)入門篇第五 軟硬件開發(fā)環(huán)境第六
    發(fā)表于 11-04 07:37

    功率放大電路問答第九章

    功率放大電路問答第九章 自  測  題    一、選擇合適的答案,填入空內。只需填入A、B或C。    (1)功率放大電路的最大輸
    發(fā)表于 04-17 16:06 ?12次下載

    低頻功率放大電路 第九章

    低頻功率放大電路 第九章 本章要點:    功放的特點與分類    OCL電路
    發(fā)表于 04-18 14:29 ?0次下載

    振幅調制與解調 第九章

    振幅調制與解調 第九章    在通信系統(tǒng)中,模擬調制分為振幅調制和角度調制兩大類,本章主要討論振幅調制與解調,內容主要包括振幅調制信號分
    發(fā)表于 05-27 15:47 ?0次下載

    單片機c語言教程第九章--C51運算符和表達式(指針和地址運

    單片機c語言教程第九章--C51運算符和表達式(指針和地址運算符) 在第 3 課我們學習數(shù)據(jù)類型時,學習過指針類型,知道它是一種存放指向另一個數(shù)據(jù)的地址的變量類型
    發(fā)表于 04-15 09:39 ?1729次閱讀
    單片機c語言教程<b class='flag-5'>第九章</b>--C51運算符和表達式(指針和地址運

    《測控電路》習題完整參考答案(第九章

    《測控電路》習題完整參考答案(第九章
    發(fā)表于 02-14 17:02 ?0次下載

    GitHub標星139K的:“嵌入式Linux系統(tǒng)開發(fā)教程”

    基礎第三 ARM體系架構第四 嵌入式編程開發(fā)入門篇第五 軟硬件開發(fā)環(huán)境第六
    發(fā)表于 11-01 16:57 ?11次下載
    GitHub標星139K的:“嵌入式<b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>開發(fā)</b>教程”

    【正點原子FPGA連載】第九章按鍵控制LED燈實驗 -摘自【正點原子】新起點之FPGA開發(fā)指南_V2.1

    【正點原子FPGA連載】第九章按鍵控制LED燈實驗 -摘自【正點原子】新起點之FPGA開發(fā)指南_V2.1
    發(fā)表于 12-04 13:06 ?10次下載
    【正點原子FPGA連載】<b class='flag-5'>第九章</b>按鍵控制LED燈實驗 -摘自【正點原子】新起點之FPGA<b class='flag-5'>開發(fā)</b>指南_V2.1

    第九章 AVR C語言的應用.PDF

    本教程講解的是AVR C語言編程,包括開發(fā)環(huán)境、語言語法、特殊用法基礎知識的講解
    發(fā)表于 03-17 14:21 ?0次下載

    第九章 數(shù)模和模數(shù)轉換

    電子發(fā)燒友網(wǎng)站提供《第九章 數(shù)模和模數(shù)轉換.ppt》資料免費下載
    發(fā)表于 11-18 09:14 ?0次下載
    <b class='flag-5'>第九章</b> 數(shù)模和模數(shù)轉換