<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      新員工一口氣寫完了這些C語言例子,領(lǐng)導(dǎo)給他轉(zhuǎn)正了!

      持續(xù)更新中...

      很多想從事嵌入式Linux開發(fā)的老鐵問一口君,有沒有快速提升自己編程水平的小例子?

      一口君根據(jù)自己多年工作經(jīng)驗,整理了一些基于Linux的c語言的非常實用的小例子,

      這些例子在嵌入式開發(fā)工作中,或多或少都會用到。

      看看你們會做多少?

      一、基礎(chǔ)C語言

      1. 排序算法

      給指定數(shù)組排序,可以是任意一種排序算法,比如冒泡排序

      函數(shù)定義如下,

      bubble_sort(char dest[],char src[],int len)
      

      2. 將一個unsigned char array[]數(shù)組元素實現(xiàn)bit位逆序

      比如:array[0] = 0x17(0001 0111),轉(zhuǎn)換后array[0] = 0xe8(1110 1000)

      函數(shù)定義如下:

      int reverse(unsigned char dest[],unsigned char src[],int len)
      

      3. 將一個unsigned int array[]數(shù)組元素實現(xiàn)字節(jié)序轉(zhuǎn)換

      比如array[0] = 0x12345678 ,轉(zhuǎn)換后array[0] = 0x78563412

      函數(shù)定義如下:

      myhtol(int dest[],int src[],int len)
      

      4. 將一個unsigned char array[]數(shù)組,每一個字節(jié),轉(zhuǎn)換為二進制,每一個bit占一個字節(jié),將結(jié)果存儲到新的數(shù)組中,同時也可以實現(xiàn)將這新的數(shù)組還原

      比如array[0] = 0x17 (0001 0111) array[1] = 0x32 (0011 0010)

      新的數(shù)組dest[0] ~dest15] 為 0 ,0,0,1,0,1,1,1, 0,0,1,1,1,0,0,1,0

      函數(shù)定義如下:

      字節(jié)數(shù)組轉(zhuǎn)為bit數(shù)組
      int Hex2bit(unsigned char dest[],unsigned char src[],int len)
      返回值為新的bit數(shù)組的有效元素個數(shù)
      
      bit數(shù)組還原為Byte數(shù)組
      int bit2Hex(unsigned char dest[],unsigned char src[],int len)
      返回值為還原后的Byte數(shù)組的有效元素個數(shù)
      

      5. 幀格式轉(zhuǎn)換

      將一個char數(shù)組,所有的7e 轉(zhuǎn)成 7d 5e ,7d轉(zhuǎn)成7d 5d,并能還原

      二、Linux系統(tǒng)編程

      1. 文件I/O(open、read、write、lseek)

      1) 打開一個文件,如果不存在則創(chuàng)建

      2)復(fù)制文件為指定文件名

      3)讀取指定文件,每隔2個字節(jié),提取2個字節(jié),并將結(jié)果存儲到指定文件

      4)修改某個文件指定行的內(nèi)容,將當前日期更新到指定位置

      #define VERSION "2024-6-21"
      

      2. 串口

      1)以制定的配置打開指定串口,從串口讀取一定長度的數(shù)據(jù),并將該數(shù)據(jù)直接從串口寫回

      【粉絲問答8】用C語言在Linux下實現(xiàn)CC2530上位機-1

      2)從串口數(shù)據(jù)中解析出有效數(shù)據(jù)(有點難)

      假定需要從串口接收到的數(shù)據(jù)幀格式如下:

      7e xx xx xx xx xx xx xx 7e
      

      7e中間位有效數(shù)據(jù)區(qū),要求能夠從串口數(shù)據(jù)中提取出有效數(shù)據(jù)

      注意:從串口讀取的數(shù)據(jù)并不是規(guī)則的,7e可能在一組數(shù)據(jù)開頭、中間、結(jié)尾,并且一對7e可能不在同一次讀取到的幀數(shù)據(jù)中。

      7E頭解析的那些事兒(幀格式分析實例)

      3. 進程

      1)創(chuàng)建子進程,并分別在創(chuàng)建前后打開同一個文件,分析父子進程同時操作該文件之間的影響。

      2)編寫一個守護進程

      3)通過管道(無名管道和有名管道),實現(xiàn)進程間通信

      4. 線程

      1) 創(chuàng)建2個線程,一個線程向全局數(shù)組寫數(shù)據(jù)(數(shù)組盡量大一些),一個線程打印該全局數(shù)組,分析結(jié)果

      2)互斥鎖使用

      創(chuàng)建2個線程,通過互斥鎖實現(xiàn)互斥訪問某個指定串口

      3) 條件變量

      創(chuàng)建2個線程,線程2的執(zhí)行必須是線程1在完成某個動作之后(比如sleep5秒之后)才可以執(zhí)行。

      5. 信號

      給信號SIGINT注冊指定回調(diào)函數(shù),

      三、網(wǎng)絡(luò)

      1. 編寫1個C/S架構(gòu)的udp/tcp并發(fā)服務(wù)器

      服務(wù)器收到任意客戶端數(shù)據(jù),都直接回傳給該客戶端

      2. 基于socket(tcp/udp)實現(xiàn)網(wǎng)絡(luò)文件傳輸

      3. 基于socket(tcp/udp)實現(xiàn)一個建議信令傳輸協(xié)議

      typedef struct _protocol_s{
      	int cmd;
          …………
      	char data[10];
      }PROTOCOL_S;
      

      4. 讀取當前系統(tǒng)所有網(wǎng)口的信息(name、ip)

      cat /proc/net/dev
      

      5. 修改網(wǎng)卡ip地址

      不許用system()

      四、驅(qū)動

      1. 字符設(shè)備

      編寫一個最簡單的字符設(shè)備驅(qū)動和應(yīng)用程序,包含:read/write/ioctl,

      一文帶你掌握Linux字符設(shè)備架構(gòu)

      2. 通過等待隊列實現(xiàn)讀阻塞

      手把手教Linux驅(qū)動9-等待隊列waitq

      3. 編寫一個中斷處理函數(shù),包含設(shè)備樹

      4. 實現(xiàn)1個中斷底半部(workqueue)

      5. 基于內(nèi)核定時器timer_list,實現(xiàn)定時1s執(zhí)行某個函數(shù)

      【粉絲問答20】內(nèi)核定時器使用及其他時間操作

      6. 使用內(nèi)核信號量

      五、工具篇

      1. 版本管理

      git

      cmder

      2. 安卓設(shè)備

      adb、scrcpy

      詳解如何將 Android 手機投屏在 Ubuntu 上

      3. 文本

      source insight、vim、16進制分析工具、beyond compare

      4. 畫圖工具

      viso、edraw、

      5. 串口工具

      xshell、secure CRT、XCOM

      6. 網(wǎng)絡(luò)

      • 工具

      wireshark,netassit,tcpdump

      • 命令

      iperf、ping、tftp、ftp、ifcpnfig、ipconfig

      7. 文件傳輸

      • 通常開發(fā)板和windows傳輸文件

      tftp、adb、rz、sz

      • windows之間傳輸文件

      飛秋、ftp、windows文件共享

      8. 音頻

      aplay、arecord、ffplay

      camera

      v4l2-ctl、media-ctl -p、ffplay

      9. i2c

      i2cdetect、i2cdump、i2cget、i2cset、i2ctransfer

      10. 儀器

      邏輯分析儀、示波器、穩(wěn)壓電源、頻譜儀、萬用表

      電烙鐵

      posted @ 2024-08-25 20:36  一口Linux  閱讀(150)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文区中文字幕免费看| 国产又黄又爽又不遮挡视频| 国产在线精品一区二区三区不卡| 在线观看潮喷失禁大喷水无码| 国产精品亚洲一区二区在| 日韩一区二区三区不卡片| 亚洲V天堂V手机在线| 亚洲欧美国产免费综合视频| 黑人玩弄人妻中文在线| 国产91成人亚洲综合在线 | 欧美人成精品网站播放| 亚洲天堂视频网| 国产午夜福利免费入口| 亚洲av永久无码天堂影院| 国产成人精品高清不卡在线| 久久精品国产亚洲av天海翼| 色伦专区97中文字幕| 亚洲av日韩av综合在线观看| 西西午夜无码大胆啪啪国模| 91老熟女老人国产老太| 成人乱码一区二区三区四区| 99在线小视频| 久久久精品2019中文字幕之3| 狠狠v日韩v欧美v| 欧洲极品少妇| 国产成人无码综合亚洲日韩| 色欲av亚洲一区无码少妇| 粉嫩av一区二区三区蜜臀| 色综合久久中文综合久久激情 | jk白丝喷浆| 国产色悠悠综合在线观看| 久久久久人妻精品一区二区三区| 中文字幕国产精品自拍| 色www永久免费视频| 116美女极品a级毛片| 德保县| 午夜福利偷拍国语对白| 99人中文字幕亚洲区三| 国产精品福利自产拍久久| 东港市| 日韩激情无码av一区二区|