第1章STM32F系列32位微控制器最小系統(tǒng)設計11.1STM32系列32位微控制器簡介11.2STM32F103xx系列微控制器簡介51.2.1STM32F103xx系列微控制器的主要特性51.2.2STM32F103xx系列微控制器的內部結構61.3STM32F系列32位微控制器系統(tǒng)板設計示例71.3.1系統(tǒng)板簡介71.3.2系統(tǒng)板PCB圖13第2章工程建立、軟件仿真調試與程序下載162.1STM32F的固件函數庫162.1.1固件函數庫簡介162.1.2固件函數庫文件夾結構162.1.3與外設/單元有關的庫函數182.2工程建立202.2.1下載ST3.00外設庫202.2.2進入工程建立212.2.3進行選項設置212.2.4進行工程相關設置302.2.5設置仿真調試選項352.3軟件仿真調試392.3.1軟件仿真設置392.3.2啟動軟件仿真402.4程序下載472.4.1利用串口下載程序472.4.2利用JLINK下載程序512.5怎樣在RAM中調試程序56第3章delay和sys文件函數的使用643.1delay文件函數643.1.1delay_init函數643.1.2delay_us函數653.1.3delay_ms函數663.2sys文件函數673.2.1I/O口的位操作673.2.2Stm32_Clock_Init函數683.2.3Sys_Soft_Reset函數703.2.4Sys_SleepDeep函數713.3編程示例733.3.1添加文件到工程733.3.2delay示例程序733.3.3sys示例程序清單753.3.4主函數程序78第4章GPIO的使用814.1STM32F GPIO簡介814.2GPIO編程示例814.3外部中斷操作854.3.1STM32F外部中斷設置854.3.2外部中斷操作示例程序設計864.3.3外部中斷操作示例程序86第5章USART的使用925.1STM32F USART簡介925.1.1串行接口基本原理與結構925.1.2STM32F USART的基本特性955.1.3STM32F USART的操作965.2USARTUSB轉換995.2.1USARTUSB轉換模塊硬件設計995.2.2USARTUSB轉換示例程序設計1015.2.3USARTUSB轉換示例程序1045.3USART的中斷操作1095.3.1USART的中斷操作示例程序設計1095.3.2USART的中斷操作示例程序1105.4USART的DMA操作1135.4.1STM32F的DMA1135.4.2USART的DMA操作示例程序設計1165.4.3USART的DMA操作示例程序117第6章ADC的使用1246.1STM32F的ADC1246.1.1STM32F的ADC簡介1246.1.2ADC模塊自身相關的誤差1246.1.3ADC的外部輸入阻抗RAIN1266.1.4采用獨立ADC供電以及參考電壓1276.2ADC的DMA連續(xù)轉換模式1276.2.1ADC的DMA連續(xù)轉換模式程序設計1276.2.2ADC的DMA連續(xù)轉換模式程序1296.3角度位移傳感器的使用1346.3.1角度位移傳感器簡介1346.3.2角度位移傳感器操作示例程序135第7章DAC的使用1387.1STM32F的DAC簡介1387.2影響DAC精度的一些技術指標1387.2.1DAC的轉換函數1387.2.2DAC的偏置誤差1387.2.3DAC的增益誤差1397.2.4DAC的微分非線性誤差1407.2.5DAC的積分非線性誤差1407.2.6DAC的絕對精度誤差1417.3DAC軟件觸發(fā)模式示例程序設計1427.3.1DAC軟件觸發(fā)模式配置1427.3.2DAC軟件觸發(fā)模式示例程序1427.4DAC定時器觸發(fā)模式示例程序設計1447.4.1DAC定時器觸發(fā)配置1447.4.2DAC定時器觸發(fā)示例程序1467.5DAC三角波生成模式示例程序設計1497.5.1DAC三角波生成模式配置1497.5.2DAC三角波生成模式示例程序150第8章定時器的使用1538.1STM32F的定時器簡介1538.2基本定時器的使用1548.2.1基本定時器的寄存器設置1548.2.2定時器的時鐘1578.2.3基本定時器的示例程序設計1598.2.4基本定時器的示例程序1608.3定時器的輸入捕獲模式1638.3.1定時器的輸入捕獲模式簡介1638.3.2定時器的輸入濾波設置1648.3.3定時器的輸入捕獲模式示例程序設計1658.3.4定時器的輸入捕獲模式示例程序1668.4STM32F定時器的輸出比較模式1698.4.1定時器輸出比較模式庫函數1698.4.2定時器輸出比較模式示例程序設計1708.4.3定時器輸出比較模式示例程序1718.5STM32F定時器的PWM輸出1768.5.1STM32F的PWM設置1768.5.2STM32F的PWM示例程序設計1788.5.3STM32F的PWM示例程序1798.6顏色傳感器TCS230的使用1838.6.1常用的色彩傳感器1838.6.2TCS230可編程顏色光頻率轉換器1848.6.3TCS230顏色識別的參數計算1858.6.4TCS230操作示例程序設計1888.6.5TCS230操作示例程序1888.7步進電機控制1958.7.1TA8435H簡介1958.7.2TA8435H步進電機驅動電路1968.7.3步進電機控制示例程序設計1978.7.4步進電機控制示例程序1988.8交流調壓控制2018.8.1交流調壓電路2018.8.2交流調壓控制示例程序設計2028.8.3交流調壓控制示例程序202第9章看門狗的使用2079.1獨立看門狗2079.1.1獨立看門狗的寄存器設置2079.1.2獨立看門狗的示例程序設計2099.1.3獨立看門狗的示例程序2109.2窗口看門狗2129.2.1窗口看門狗的寄存器設置2129.2.2窗口看門狗的示例程序設計2159.2.3窗口看門狗的示例程序216第10章FSMC的使用22010.1STM32F的FSMC22010.1.1STM32F的FSMC簡介22010.1.2FSMC內部結構和映射地址空間22110.1.3FSMC總線配置步驟22210.2FSMC驅動TFT LCD22410.2.1TFT LCD簡介22410.2.2TFT LCD與STM32F的連接22410.2.3確定FSMC映射地址22510.2.4FSMC驅動TFT LCD的示例程序設計22610.2.5FSMC驅動TFT LCD的示例程序230第11章SPI的使用23711.1STM32F 的SPI23711.1.1SPI接口基本原理與結構23711.1.2STM32F SPI簡介23811.2SPI的示例程序設計24011.2.1SPI的配置步驟24011.2.2數字電位器MAX5413/MAX5414/MAX5415簡介24011.2.3SPI的示例程序24211.3GPIO模擬SPI控制觸摸屏24411.3.1觸摸屏工作原理與結構24411.3.2采用專用芯片的觸摸屏控制電路24611.3.3觸摸屏控制示例程序設計24811.3.4觸摸屏控制示例程序25011.4加速度傳感器MMA7455L的使用25811.4.1MMA7455L內部結構及工作原理25811.4.2MMA7455L引腳功能及應用電路25911.4.3MMA7455L工作模式26111.4.4MMA7455L加速度校準方法26311.4.5MMA7455L應用示例程序設計26411.4.6MMA7455L應用示例程序26611.5音頻編解碼器VS1003的使用26711.5.1VS1003簡介26711.5.2VS1003與STM32F連接26711.5.3VS1003的常用寄存器26711.5.4VS1003的寄存器讀/寫操作27211.5.5VS1003應用示例程序設計27411.5.6VS1003應用示例程序27511.6MF RC522和Mifare standard卡的使用27811.6.1MF RC522簡介27811.6.2Mifare standard卡簡介28011.6.3Mifare 1卡的讀/寫操作28311.6.4MF RC522的SPI接口操作28511.6.5MF RC522與Mifare 1操作示例程序設計28811.6.6MF RC522與Mifare 1卡操作示例程序29211.7Flash存儲器W25X16的使用29411.7.1W25X16簡介29411.7.2W25X16操作示例程序設計29511.7.3W25X16操作示例程序29811.8nRF24L01的使用30811.8.1nRF24L01簡介30811.8.2nRF24L01的SPI時序31011.8.3nRF24L01 SPI接口指令設置31111.8.4nRF24L01的ShockBurst模式31211.8.5增強型ShockBurst發(fā)送/接收模式操作31511.8.6nRF24L01操作示例程序設計31611.8.7nRF24L01發(fā)送操作示例程序31711.8.8nRF24L01接收操作示例程序32711.9DDS AD9852的使用33711.9.1DDS AD9852的主要技術特性33711.9.2AD9852的內部結構與功能33811.9.3AD9852的工作模式34111.9.4AD9852的工作時序34911.9.5AD9852的應用電路35211.9.6AD9852操作示例程序設計35411.9.7AD9852操作示例程序354第12章I2C的使用35712.1STM32F的I2C35712.1.1I2C接口基本原理與結構35712.1.2STM32F的I2C簡介35812.2STM32F I2C的示例程序設計35912.2.1STM32F的I2C初始化配置35912.2.224Cxx系列EEPROM簡介36012.2.324Cxx系列EEPROM示例程序設計36312.2.424Cxx系列EEPROM示例程序36412.3光強檢測傳感器BH1750FVI的使用37212.3.1BH1750FVI簡介37212.3.2BH1750FVI的VCC和DVI電源供應時序37312.3.3BH1750FVI的I2C接口時序37412.3.4BH1750FVI的示例程序設計 37612.3.5BH1750FVI的示例程序37612.4CMOS圖像傳感器OV7670的使用38312.4.1CMOS圖像傳感器OV7670簡介38312.4.2視頻幀存儲器AL422B簡介38412.4.3基于OV7670的圖像采集電路38512.4.4OV7670操作示例程序設計38612.4.5OV7670操作示例程序38812.5數字調頻無線電芯片TEA5767的使用40012.5.1數字調頻無線電芯片TEA5767簡介40012.5.2立體聲耳機放大器MAX13330/13331簡介40312.5.3數字調頻無線電接收機電路40412.5.4TEA5767操作示例程序設計40412.5.5TEA5767操作示例程序410第13章CAN的使用41213.1CAN總線簡介41213.2STM32F的bxCAN41413.2.1bxCAN的主要特點41413.2.2bxCAN的工作模式41413.2.3bxCAN發(fā)送報文的流程41513.2.4bxCAN的報文接收41613.2.5bxCAN的時間觸發(fā)通信模式41713.2.6bxCAN過濾器41713.3STM32F外接CAN收發(fā)器42013.4CAN操作示例程序設計42113.4.1CAN初始化配置42113.4.2CAN操作示例程序的實現42513.5CAN操作示例程序42613.5.1節(jié)點1程序42613.5.2節(jié)點2程序431第14章SDIO的使用43814.1STM32F的SDIO簡介43814.2Micro SD卡43814.2.1Micro SD卡簡介43814.2.2Micro SD卡初始化44014.2.3Micro SD卡讀數據塊操作44014.2.4Micro SD卡寫數據塊操作44114.2.5Micro SD卡與STM32F的連接44214.3Micro SD卡操作示例程序設計44314.3.1SDIO操作示例程序設計44314.3.2SDIO操作示例程序44514.4SDIO+FatFs實現FAT文件系統(tǒng)44914.4.1FatFs簡介44914.4.2源代碼的結構45014.4.3SDIO+FatFs實現FAT文件系統(tǒng)程序設計46114.4.4SDIO+FatFs實現FAT文件系統(tǒng)程序462參考文獻467