注:這裡指軟體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...