藍橋杯嵌入式學習 IIC RTC Buzz

2021-09-12 12:38:11 字數 1657 閱讀 8275

注:這裡指軟體iic,實時時鐘,蜂鳴器用的pb4所以是學習埠復用

這裡使用軟體模擬iic是為了實現eeprom的功能

這兒挺簡單的,直接上**吧

//寫在main函式中的,用作記錄開機次數

i2c_init()

; temp =

x24c02_read

(0xff);

delay_ms(2

);x24c02_write

(0xff

,++temp)

;delay_ms(2

);/** * @說明 向at24c02指定位址讀入乙個位元組資料

* @引數 address:at24c02內部儲存位址

* @返回值 val:讀出資料

*/uint8_t x24c02_read

(uint8_t address)

/** * @說明 向at24c02指定位址寫入乙個位元組資料

* @引數 address:at24c02內部儲存位址

* @引數 info:寫入的資料

* @返回值 無

*/void

x24c02_write

(unsigned

char address,

unsigned

char info)

直接從官方庫裡面的project中example裡面相關工程複製**過來

注:因為藍橋平台嵌入式開發板沒有加外部低速時鐘所以把rcc_lseconfig(rcc_lse_on);改為rcc_lsicmd(enable);, 且其它lse都改為lsi, 把rtc_setprescaler(32767); 內數字改為39999

void

rtc_configuration

(void

)void

nvic_configuration

(void

)//中斷處理函式

void

rtc_irqhandler

(void)}

}//main中函式段

while(1

)}//時鐘轉化和顯示

u8 timetext[20]

;void

time_display

(u32 time)

上面配置nvic分組,這個有點記不住了,放在這裡

蜂鳴器很簡單,但在藍橋杯開發板上是pb4,預設為jtag的功能引腳,所以這裡考的是復用和重對映

rcc_apb2periphclockcmd

(rcc_apb2periph_gpiob,enable)

;rcc_apb2periphclockcmd

(rcc_apb2periph_afio,enable)

;gpio_pinremapconfig

(gpio_remap_swj_disable, enable)

;gpio_setbits

(gpiob,gpio_pin_4)

;delay_ms

(200

);

藍橋杯嵌入式 USART

乙個是串列埠 1 pa9,pa10 乙個是串列埠 2 pa2,pa3 我們的藍橋杯嵌入式開發板並不能直接使用串列埠 1rxbuf 是用來儲存串列埠的接收資料的,rxover 為接收串列埠結束標誌位,rxcunt 為串列埠接收計數值 ifndef usart h define usart h incl...

藍橋杯嵌入式 LCD

include stm32f10x.h include lcd.h include stdio.h u8 string 20 u8 temp 30 float ao 3.81 u32 timingdelay 0 void delay ms u32 ntime main body int main v...

藍橋杯嵌入式 RTC

bkp裡是關於備份暫存器的庫函式,pwr裡是關於電源管理的庫函式 ifndef rtc h define rtc h include stm32f10x.h void rtc init u8 hh,u8 mm,u8 ss endif include rtc.h void rtc init u8 hh...