在這里需要理解一個(gè)概念就是,使用hal庫(kù),首先一定要對(duì)標(biāo)準(zhǔn)庫(kù)中外設(shè)的使用,有一個(gè)很好的了解,在我這里出現(xiàn)這個(gè)原因就是由于對(duì)標(biāo)準(zhǔn)庫(kù)中外設(shè)的使用不夠了解,導(dǎo)致轉(zhuǎn)移到HAL庫(kù),出現(xiàn)各種問題。本次采用的是HAL庫(kù)串口2
信的RTC芯片看起來不錯(cuò),但是貴。威帆的SD3088這個(gè)不錯(cuò),而且還可以給電池充電,便宜很多,淘寶上價(jià)格6元一片。我這項(xiàng)目對(duì)時(shí)間要求嚴(yán)格,就不使用1元多的芯片了。網(wǎng)傳STM32F1的I2C有Bug,模擬通信最為保險(xiǎn)。威帆網(wǎng)站
uint8_t aTxBuffer[SPI_BUFFER_SIZE] __attribute__((at(0x20000200))) = {0xaa, 0x00, 0x00};在沒有上面的__attribute__((at(0x20000200))的時(shí)候,程序會(huì)進(jìn)入Hardfault,進(jìn)入的原因是程序不能從奇地址讀取數(shù)據(jù)。這個(gè)
硬件平臺(tái):STM32F429軟件平臺(tái):Keil 5 采用HAL庫(kù)本人借鑒了正點(diǎn)原子的例程,在這里表示感謝。在編寫串口的過程中,遇到了HAL_UART_Receive_IT(&UART1_Handler,(u8*)aRxBuffer,1);1這個(gè)函數(shù),首先是在初始化uart_init