說(shuō)到I2C很多用過(guò)STMF10X硬件I2C方式的工程師,都感覺(jué)有點(diǎn)頭痛。大部分還是使用軟件模擬的方式,I2C由于一般的工作頻率是400,100KHz。所以在平凡讀取,或所讀數(shù)據(jù)量大時(shí),使用這模擬的方式,還是比較浪費(fèi)CPU有效工作時(shí)
之前一直在做驅(qū)動(dòng)方面的整理工作,對(duì)驅(qū)動(dòng)的高效性有一些自己的理解這里和大家分享一下。并奉驅(qū)動(dòng)程序,本程序覆蓋uart1-8。串口驅(qū)動(dòng),這是在每個(gè)單片機(jī)中可以說(shuō)是必備接口??梢哉f(shuō)大部分產(chǎn)品中都會(huì)使用,更有甚者一個(gè)
一、標(biāo)準(zhǔn)固件庫(kù)簡(jiǎn)介本文下載的是STM32F4xx_DSP_StdPeriph_Lib_V1.5.0,其文件夾如下圖所示:其中Project文件夾為各個(gè)開(kāi)發(fā)環(huán)境(MDK-ARM、EWARM、TrueSTUDIO)的模板工程,Utilities文件夾為官方評(píng)估板的標(biāo)準(zhǔn)固件庫(kù)應(yīng)
以前一直使用STM32的標(biāo)準(zhǔn)庫(kù),需要一步步地將代碼加進(jìn)去,將編譯選項(xiàng)設(shè)置好,然后再編譯整個(gè)工程。這個(gè)編譯過(guò)程是一個(gè)相當(dāng)慢的過(guò)程!完全編譯大約需要一支煙的時(shí)間。每次建立工程都這么編譯,是一個(gè)相當(dāng)浪費(fèi)時(shí)間和香煙