new file: .vscode/settings.json

new file:   "\345\256\236\351\252\2146 \345\277\203\347\216\207&\350\241\200\346\260\247\345\256\236\351\252\214.pptx"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/CORE/core_cm3.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/CORE/core_cm3.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/CORE/startup_stm32f10x_md.s"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/BLE/ble_app.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/BLE/ble_app.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/BLE/ble_cfg.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/BLE/ble_uart.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/BLE/ble_uart.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/KEY/key.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/KEY/key.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/LED/led.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/LED/led.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/MAX30102/max30102.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/MAX30102/max30102.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/OLED/bmp.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/OLED/oled.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/OLED/oled.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/OLED/oledfont.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/USART2/usart2.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/HARDWARE/USART2/usart2.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/NRF24L01.hex"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/Project.axf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/Project.build_log.htm"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/Project.hex"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/Project.htm"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/Project.lnp"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/Project.sct"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/Project_sct.Bak"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/STM32_Project.dep"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/adc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/adc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/adc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/adxl345.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/adxl345.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/adxl345.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/core_cm3.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/core_cm3.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/core_cm3.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/delay.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/delay.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/delay.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/ds18b20.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/ds18b20.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/ds18b20.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/exti.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/exti.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/exti.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/key.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/key.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/key.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/led.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/led.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/led.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/main.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/main.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/main.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/misc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/misc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/misc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/oled.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/oled.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/oled.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/oled_i2c.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/oled_i2c.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/pedometer.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/pedometer.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/pedometer.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/rtc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/rtc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/rtc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/startup_stm32f10x_md.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/startup_stm32f10x_md.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_adc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_adc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_adc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_bkp.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_bkp.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_bkp.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_exti.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_exti.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_exti.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_flash.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_flash.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_flash.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_gpio.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_gpio.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_gpio.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_i2c.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_i2c.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_i2c.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_it.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_it.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_it.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_pwr.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_pwr.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_pwr.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_rcc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_rcc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_rcc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_rtc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_rtc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_rtc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_tim.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_tim.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_tim.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_usart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_usart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stm32f10x_usart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stmflash.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stmflash.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/stmflash.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/sys.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/sys.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/sys.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/system_stm32f10x.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/system_stm32f10x.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/system_stm32f10x.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/test.hex"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/timer.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/timer.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/timer.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/usart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/usart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/OBJ/usart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/misc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_adc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_bkp.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_can.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_cec.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_crc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_dac.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_dbgmcu.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_dma.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_exti.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_flash.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_fsmc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_gpio.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_i2c.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_iwdg.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_pwr.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_rcc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_rtc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_sdio.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_spi.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_tim.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_usart.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/inc/stm32f10x_wwdg.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/misc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_adc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_bkp.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_can.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_cec.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_crc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_dac.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_dbgmcu.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_dma.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_exti.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_flash.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_fsmc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_gpio.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_i2c.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_iwdg.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_pwr.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_rcc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_rtc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_sdio.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_spi.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_tim.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_usart.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/STM32F10x_FWLib/src/stm32f10x_wwdg.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/SYSTEM/delay/delay.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/SYSTEM/delay/delay.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/SYSTEM/sys/sys.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/SYSTEM/sys/sys.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/SYSTEM/usart/usart.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/SYSTEM/usart/usart.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/DebugConfig/ADXL345_STM32F103C8_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/DebugConfig/ADXL345_STM32F103T6_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/DebugConfig/DHT11_STM32F103C8_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/DebugConfig/DS18B20_STM32F103C8_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/DebugConfig/Project_STM32F103C8_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Listings/STM32_CGMCU.map"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Listings/startup_stm32f10x_md.lst"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ExtDll.iex"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU.axf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU.build_log.htm"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU.hex"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU.htm"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU.lnp"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU.sct"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU_ADXL345.dep"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU_DHT11.dep"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU_DS18B20.dep"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/STM32_CGMCU_sct.Bak"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/adxl345.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/adxl345.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/adxl345.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ble_app.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ble_app.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ble_app.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ble_uart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ble_uart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ble_uart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/core_cm3.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/core_cm3.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/core_cm3.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/delay.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/delay.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/delay.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/dht11.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/dht11.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/dht11.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ds18b20.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ds18b20.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/ds18b20.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/iic.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/iic.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/iic.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/led.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/led.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/led.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/main.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/main.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/main.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/max30102.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/max30102.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/max30102.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/misc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/misc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/misc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/oled.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/oled.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/oled.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/startup_stm32f10x_md.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/startup_stm32f10x_md.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_dma.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_dma.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_dma.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_gpio.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_gpio.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_gpio.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_it.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_it.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_it.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_rcc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_rcc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_rcc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_tim.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_tim.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_tim.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_usart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_usart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/stm32f10x_usart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/sys.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/sys.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/sys.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/system_stm32f10x.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/system_stm32f10x.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/system_stm32f10x.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/usart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/usart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/usart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/usart2.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/usart2.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/Objects/usart2.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/STM32_CGMCU.uvguix.KevinFlyn"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/STM32_CGMCU.uvguix.monjack"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/STM32_CGMCU.uvguix.shb"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/STM32_CGMCU.uvoptx"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/STM32_CGMCU.uvprojx"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/main.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/stm32f10x.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/stm32f10x_conf.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/stm32f10x_it.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/stm32f10x_it.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/system_stm32f10x.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/MAX30102\344\276\213\347\250\213/USER/system_stm32f10x.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/2.\346\226\207\346\241\243/01 STM32\346\216\247\345\210\266max30102\350\257\273\345\217\226\350\241\200\346\260\247\345\277\203\347\216\207\346\225\260\346\215\256(keil5\345\267\245\347\250\213).pdf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/2.\346\226\207\346\241\243/MAX30102.pdf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/2.\346\226\207\346\241\243/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\346\250\241\345\235\227\344\275\277\347\224\250\350\257\264\346\230\216.pdf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/MAX30102\345\277\203\347\216\207\350\241\200\346\260\247\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/2.\346\226\207\346\241\243/csdn.txt"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/BLE/ble_app.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/BLE/ble_app.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/BLE/ble_cfg.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/BLE/ble_uart.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/BLE/ble_uart.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/CORE/core_cm3.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/CORE/core_cm3.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/CORE/startup_stm32f10x_md.s"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/KEY/key.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/KEY/key.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/LED/led.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/LED/led.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/OLED/bmp.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/OLED/oled.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/OLED/oled.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/OLED/oledfont.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/USART2/usart2.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/HARDWARE/USART2/usart2.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/misc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_adc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_bkp.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_can.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_cec.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_crc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_dac.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_dbgmcu.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_dma.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_exti.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_flash.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_fsmc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_gpio.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_i2c.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_iwdg.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_pwr.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_rcc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_rtc.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_sdio.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_spi.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_tim.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_usart.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/inc/stm32f10x_wwdg.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/misc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_adc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_bkp.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_can.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_cec.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_crc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_dac.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_dbgmcu.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_dma.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_exti.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_flash.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_fsmc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_gpio.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_i2c.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_iwdg.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_pwr.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_rcc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_rtc.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_sdio.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_spi.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_tim.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_usart.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/STM32F10x_FWLib/src/stm32f10x_wwdg.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/Timer/timer.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/Timer/timer.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/adc/adcx.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/adc/adcx.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/delay/delay.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/delay/delay.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/sys/sys.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/sys/sys.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/usart/usart.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/SYSTEM/usart/usart.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/DebugConfig/DHT11_STM32F103C8_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/EventRecorderStub.scvd"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Listings/STM32_CGMCU.map"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Listings/startup_stm32f10x_md.lst"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/STM32_CGMCU.axf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/STM32_CGMCU.build_log.htm"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/STM32_CGMCU.hex"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/STM32_CGMCU.htm"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/STM32_CGMCU.lnp"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/STM32_CGMCU.sct"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/STM32_CGMCU_DHT11.dep"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/adcx.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/adcx.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/adcx.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/ble_app.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/ble_app.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/ble_app.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/ble_uart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/ble_uart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/ble_uart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/core_cm3.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/core_cm3.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/core_cm3.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/delay.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/delay.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/delay.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/key.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/key.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/key.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/led.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/led.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/led.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/main.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/main.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/main.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/misc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/misc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/misc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/oled.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/oled.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/oled.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/startup_stm32f10x_md.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/startup_stm32f10x_md.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_adc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_adc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_adc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_dma.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_dma.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_dma.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_gpio.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_gpio.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_gpio.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_it.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_it.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_it.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_rcc.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_rcc.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_rcc.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_tim.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_tim.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_tim.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_usart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_usart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/stm32f10x_usart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/sys.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/sys.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/sys.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/system_stm32f10x.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/system_stm32f10x.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/system_stm32f10x.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/timer.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/timer.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/timer.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/usart.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/usart.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/usart.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/usart2.crf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/usart2.d"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/Objects/usart2.o"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/STM32_CGMCU.uvguix.KevinFlyn"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/STM32_CGMCU.uvguix.monjack"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/STM32_CGMCU.uvguix.shb"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/STM32_CGMCU.uvoptx"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/STM32_CGMCU.uvprojx"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/main.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/stm32f10x.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/stm32f10x_conf.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/stm32f10x_it.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/stm32f10x_it.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/system_stm32f10x.c"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/1.\344\273\243\347\240\201/USER/system_stm32f10x.h"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/2.\346\226\207\346\241\243/PulseSensorAmpedGettingStartedGuide.pdf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/2.\346\226\207\346\241\243/\345\256\230\347\275\221\347\275\221\345\235\200.txt"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/PulseSensor\345\277\203\347\216\207\344\274\240\346\204\237\345\231\250\350\265\204\346\226\231/2.\346\226\207\346\241\243/\350\204\211\346\220\217\346\250\241\345\235\227\344\275\277\347\224\250\350\257\264\346\230\216\344\271\246V2.1.pdf"
	new file:   "\347\250\213\345\272\217\346\272\220\347\240\201/XCOM\344\270\262\345\217\243\345\212\251\346\211\213/XCOM V2.3.exe"
This commit is contained in:
2025-04-17 17:39:07 +08:00
commit 9a2654d26b
454 changed files with 123878 additions and 0 deletions

10
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"files.associations": {
"*.embeddedhtml": "html",
"*.nfo": "html",
"*.html": "html",
"delay.h": "c",
"key.h": "c",
"led.h": "c"
}
}

Binary file not shown.

View File

@ -0,0 +1,784 @@
/**************************************************************************//**
* @file core_cm3.c
* @brief CMSIS Cortex-M3 Core Peripheral Access Layer Source File
* @version V1.30
* @date 30. October 2009
*
* @note
* Copyright (C) 2009 ARM Limited. All rights reserved.
*
* @par
* ARM Limited (ARM) is supplying this software for use with Cortex-M
* processor based microcontrollers. This file can be freely distributed
* within development tools that are supporting such ARM based processors.
*
* @par
* THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
* ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
*
******************************************************************************/
#include <stdint.h>
/* define compiler specific symbols */
#if defined ( __CC_ARM )
#define __ASM __asm /*!< asm keyword for ARM Compiler */
#define __INLINE __inline /*!< inline keyword for ARM Compiler */
#elif defined ( __ICCARM__ )
#define __ASM __asm /*!< asm keyword for IAR Compiler */
#define __INLINE inline /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */
#elif defined ( __GNUC__ )
#define __ASM __asm /*!< asm keyword for GNU Compiler */
#define __INLINE inline /*!< inline keyword for GNU Compiler */
#elif defined ( __TASKING__ )
#define __ASM __asm /*!< asm keyword for TASKING Compiler */
#define __INLINE inline /*!< inline keyword for TASKING Compiler */
#endif
/* ################### Compiler specific Intrinsics ########################### */
#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
/* ARM armcc specific functions */
/**
* @brief Return the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
__ASM uint32_t __get_PSP(void)
{
mrs r0, psp
bx lr
}
/**
* @brief Set the Process Stack Pointer
*
* @param topOfProcStack Process Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
__ASM void __set_PSP(uint32_t topOfProcStack)
{
msr psp, r0
bx lr
}
/**
* @brief Return the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
__ASM uint32_t __get_MSP(void)
{
mrs r0, msp
bx lr
}
/**
* @brief Set the Main Stack Pointer
*
* @param topOfMainStack Main Stack Pointer
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
__ASM void __set_MSP(uint32_t mainStackPointer)
{
msr msp, r0
bx lr
}
/**
* @brief Reverse byte order in unsigned short value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in unsigned short value
*/
__ASM uint32_t __REV16(uint16_t value)
{
rev16 r0, r0
bx lr
}
/**
* @brief Reverse byte order in signed short value with sign extension to integer
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in signed short value with sign extension to integer
*/
__ASM int32_t __REVSH(int16_t value)
{
revsh r0, r0
bx lr
}
#if (__ARMCC_VERSION < 400000)
/**
* @brief Remove the exclusive lock created by ldrex
*
* Removes the exclusive lock which is created by ldrex.
*/
__ASM void __CLREX(void)
{
clrex
}
/**
* @brief Return the Base Priority value
*
* @return BasePriority
*
* Return the content of the base priority register
*/
__ASM uint32_t __get_BASEPRI(void)
{
mrs r0, basepri
bx lr
}
/**
* @brief Set the Base Priority value
*
* @param basePri BasePriority
*
* Set the base priority register
*/
__ASM void __set_BASEPRI(uint32_t basePri)
{
msr basepri, r0
bx lr
}
/**
* @brief Return the Priority Mask value
*
* @return PriMask
*
* Return state of the priority mask bit from the priority mask register
*/
__ASM uint32_t __get_PRIMASK(void)
{
mrs r0, primask
bx lr
}
/**
* @brief Set the Priority Mask value
*
* @param priMask PriMask
*
* Set the priority mask bit in the priority mask register
*/
__ASM void __set_PRIMASK(uint32_t priMask)
{
msr primask, r0
bx lr
}
/**
* @brief Return the Fault Mask value
*
* @return FaultMask
*
* Return the content of the fault mask register
*/
__ASM uint32_t __get_FAULTMASK(void)
{
mrs r0, faultmask
bx lr
}
/**
* @brief Set the Fault Mask value
*
* @param faultMask faultMask value
*
* Set the fault mask register
*/
__ASM void __set_FAULTMASK(uint32_t faultMask)
{
msr faultmask, r0
bx lr
}
/**
* @brief Return the Control Register value
*
* @return Control value
*
* Return the content of the control register
*/
__ASM uint32_t __get_CONTROL(void)
{
mrs r0, control
bx lr
}
/**
* @brief Set the Control Register value
*
* @param control Control value
*
* Set the control register
*/
__ASM void __set_CONTROL(uint32_t control)
{
msr control, r0
bx lr
}
#endif /* __ARMCC_VERSION */
#elif (defined (__ICCARM__)) /*------------------ ICC Compiler -------------------*/
/* IAR iccarm specific functions */
#pragma diag_suppress=Pe940
/**
* @brief Return the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
uint32_t __get_PSP(void)
{
__ASM("mrs r0, psp");
__ASM("bx lr");
}
/**
* @brief Set the Process Stack Pointer
*
* @param topOfProcStack Process Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
void __set_PSP(uint32_t topOfProcStack)
{
__ASM("msr psp, r0");
__ASM("bx lr");
}
/**
* @brief Return the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
uint32_t __get_MSP(void)
{
__ASM("mrs r0, msp");
__ASM("bx lr");
}
/**
* @brief Set the Main Stack Pointer
*
* @param topOfMainStack Main Stack Pointer
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
void __set_MSP(uint32_t topOfMainStack)
{
__ASM("msr msp, r0");
__ASM("bx lr");
}
/**
* @brief Reverse byte order in unsigned short value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in unsigned short value
*/
uint32_t __REV16(uint16_t value)
{
__ASM("rev16 r0, r0");
__ASM("bx lr");
}
/**
* @brief Reverse bit order of value
*
* @param value value to reverse
* @return reversed value
*
* Reverse bit order of value
*/
uint32_t __RBIT(uint32_t value)
{
__ASM("rbit r0, r0");
__ASM("bx lr");
}
/**
* @brief LDR Exclusive (8 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 8 bit values)
*/
uint8_t __LDREXB(uint8_t *addr)
{
__ASM("ldrexb r0, [r0]");
__ASM("bx lr");
}
/**
* @brief LDR Exclusive (16 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 16 bit values
*/
uint16_t __LDREXH(uint16_t *addr)
{
__ASM("ldrexh r0, [r0]");
__ASM("bx lr");
}
/**
* @brief LDR Exclusive (32 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 32 bit values
*/
uint32_t __LDREXW(uint32_t *addr)
{
__ASM("ldrex r0, [r0]");
__ASM("bx lr");
}
/**
* @brief STR Exclusive (8 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 8 bit values
*/
uint32_t __STREXB(uint8_t value, uint8_t *addr)
{
__ASM("strexb r0, r0, [r1]");
__ASM("bx lr");
}
/**
* @brief STR Exclusive (16 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 16 bit values
*/
uint32_t __STREXH(uint16_t value, uint16_t *addr)
{
__ASM("strexh r0, r0, [r1]");
__ASM("bx lr");
}
/**
* @brief STR Exclusive (32 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 32 bit values
*/
uint32_t __STREXW(uint32_t value, uint32_t *addr)
{
__ASM("strex r0, r0, [r1]");
__ASM("bx lr");
}
#pragma diag_default=Pe940
#elif (defined (__GNUC__)) /*------------------ GNU Compiler ---------------------*/
/* GNU gcc specific functions */
/**
* @brief Return the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
uint32_t __get_PSP(void) __attribute__( ( naked ) );
uint32_t __get_PSP(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, psp\n\t"
"MOV r0, %0 \n\t"
"BX lr \n\t" : "=r" (result) );
return(result);
}
/**
* @brief Set the Process Stack Pointer
*
* @param topOfProcStack Process Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
void __set_PSP(uint32_t topOfProcStack) __attribute__( ( naked ) );
void __set_PSP(uint32_t topOfProcStack)
{
__ASM volatile ("MSR psp, %0\n\t"
"BX lr \n\t" : : "r" (topOfProcStack) );
}
/**
* @brief Return the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
uint32_t __get_MSP(void) __attribute__( ( naked ) );
uint32_t __get_MSP(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, msp\n\t"
"MOV r0, %0 \n\t"
"BX lr \n\t" : "=r" (result) );
return(result);
}
/**
* @brief Set the Main Stack Pointer
*
* @param topOfMainStack Main Stack Pointer
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
void __set_MSP(uint32_t topOfMainStack) __attribute__( ( naked ) );
void __set_MSP(uint32_t topOfMainStack)
{
__ASM volatile ("MSR msp, %0\n\t"
"BX lr \n\t" : : "r" (topOfMainStack) );
}
/**
* @brief Return the Base Priority value
*
* @return BasePriority
*
* Return the content of the base priority register
*/
uint32_t __get_BASEPRI(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, basepri_max" : "=r" (result) );
return(result);
}
/**
* @brief Set the Base Priority value
*
* @param basePri BasePriority
*
* Set the base priority register
*/
void __set_BASEPRI(uint32_t value)
{
__ASM volatile ("MSR basepri, %0" : : "r" (value) );
}
/**
* @brief Return the Priority Mask value
*
* @return PriMask
*
* Return state of the priority mask bit from the priority mask register
*/
uint32_t __get_PRIMASK(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, primask" : "=r" (result) );
return(result);
}
/**
* @brief Set the Priority Mask value
*
* @param priMask PriMask
*
* Set the priority mask bit in the priority mask register
*/
void __set_PRIMASK(uint32_t priMask)
{
__ASM volatile ("MSR primask, %0" : : "r" (priMask) );
}
/**
* @brief Return the Fault Mask value
*
* @return FaultMask
*
* Return the content of the fault mask register
*/
uint32_t __get_FAULTMASK(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, faultmask" : "=r" (result) );
return(result);
}
/**
* @brief Set the Fault Mask value
*
* @param faultMask faultMask value
*
* Set the fault mask register
*/
void __set_FAULTMASK(uint32_t faultMask)
{
__ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) );
}
/**
* @brief Return the Control Register value
*
* @return Control value
*
* Return the content of the control register
*/
uint32_t __get_CONTROL(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, control" : "=r" (result) );
return(result);
}
/**
* @brief Set the Control Register value
*
* @param control Control value
*
* Set the control register
*/
void __set_CONTROL(uint32_t control)
{
__ASM volatile ("MSR control, %0" : : "r" (control) );
}
/**
* @brief Reverse byte order in integer value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in integer value
*/
uint32_t __REV(uint32_t value)
{
uint32_t result=0;
__ASM volatile ("rev %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief Reverse byte order in unsigned short value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in unsigned short value
*/
uint32_t __REV16(uint16_t value)
{
uint32_t result=0;
__ASM volatile ("rev16 %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief Reverse byte order in signed short value with sign extension to integer
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in signed short value with sign extension to integer
*/
int32_t __REVSH(int16_t value)
{
uint32_t result=0;
__ASM volatile ("revsh %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief Reverse bit order of value
*
* @param value value to reverse
* @return reversed value
*
* Reverse bit order of value
*/
uint32_t __RBIT(uint32_t value)
{
uint32_t result=0;
__ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief LDR Exclusive (8 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 8 bit value
*/
uint8_t __LDREXB(uint8_t *addr)
{
uint8_t result=0;
__ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) );
return(result);
}
/**
* @brief LDR Exclusive (16 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 16 bit values
*/
uint16_t __LDREXH(uint16_t *addr)
{
uint16_t result=0;
__ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) );
return(result);
}
/**
* @brief LDR Exclusive (32 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 32 bit values
*/
uint32_t __LDREXW(uint32_t *addr)
{
uint32_t result=0;
__ASM volatile ("ldrex %0, [%1]" : "=r" (result) : "r" (addr) );
return(result);
}
/**
* @brief STR Exclusive (8 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 8 bit values
*/
uint32_t __STREXB(uint8_t value, uint8_t *addr)
{
uint32_t result=0;
__ASM volatile ("strexb %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}
/**
* @brief STR Exclusive (16 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 16 bit values
*/
uint32_t __STREXH(uint16_t value, uint16_t *addr)
{
uint32_t result=0;
__ASM volatile ("strexh %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}
/**
* @brief STR Exclusive (32 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 32 bit values
*/
uint32_t __STREXW(uint32_t value, uint32_t *addr)
{
uint32_t result=0;
__ASM volatile ("strex %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}
#elif (defined (__TASKING__)) /*------------------ TASKING Compiler ---------------------*/
/* TASKING carm specific functions */
/*
* The CMSIS functions have been implemented as intrinsics in the compiler.
* Please use "carm -?i" to get an up to date list of all instrinsics,
* Including the CMSIS ones.
*/
#endif

View File

@ -0,0 +1,307 @@
;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************
;* File Name : startup_stm32f10x_md.s
;* Author : MCD Application Team
;* Version : V3.5.0
;* Date : 11-March-2011
;* Description : STM32F10x Medium Density Devices vector table for MDK-ARM
;* toolchain.
;* This module performs:
;* - Set the initial SP
;* - Set the initial PC == Reset_Handler
;* - Set the vector table entries with the exceptions ISR address
;* - Configure the clock system
;* - Branches to __main in the C library (which eventually
;* calls main()).
;* After Reset the CortexM3 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main.
;* <<< Use Configuration Wizard in Context Menu >>>
;*******************************************************************************
; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;*******************************************************************************
; Amount of memory (in bytes) allocated for Stack
; Tailor this value to your application needs
; <h> Stack Configuration
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Stack_Size EQU 0x00000400
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
; <h> Heap Configuration
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Heap_Size EQU 0x00000400
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
PRESERVE8
THUMB
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
; External Interrupts
DCD WWDG_IRQHandler ; Window Watchdog
DCD PVD_IRQHandler ; PVD through EXTI Line detect
DCD TAMPER_IRQHandler ; Tamper
DCD RTC_IRQHandler ; RTC
DCD FLASH_IRQHandler ; Flash
DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line 0
DCD EXTI1_IRQHandler ; EXTI Line 1
DCD EXTI2_IRQHandler ; EXTI Line 2
DCD EXTI3_IRQHandler ; EXTI Line 3
DCD EXTI4_IRQHandler ; EXTI Line 4
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
DCD ADC1_2_IRQHandler ; ADC1_2
DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX
DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
DCD TIM1_BRK_IRQHandler ; TIM1 Break
DCD TIM1_UP_IRQHandler ; TIM1 Update
DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line
DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend
__Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
IMPORT SystemInit
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC
EXPORT NMI_Handler [WEAK]
B .
ENDP
HardFault_Handler\
PROC
EXPORT HardFault_Handler [WEAK]
B .
ENDP
MemManage_Handler\
PROC
EXPORT MemManage_Handler [WEAK]
B .
ENDP
BusFault_Handler\
PROC
EXPORT BusFault_Handler [WEAK]
B .
ENDP
UsageFault_Handler\
PROC
EXPORT UsageFault_Handler [WEAK]
B .
ENDP
SVC_Handler PROC
EXPORT SVC_Handler [WEAK]
B .
ENDP
DebugMon_Handler\
PROC
EXPORT DebugMon_Handler [WEAK]
B .
ENDP
PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK]
B .
ENDP
Default_Handler PROC
EXPORT WWDG_IRQHandler [WEAK]
EXPORT PVD_IRQHandler [WEAK]
EXPORT TAMPER_IRQHandler [WEAK]
EXPORT RTC_IRQHandler [WEAK]
EXPORT FLASH_IRQHandler [WEAK]
EXPORT RCC_IRQHandler [WEAK]
EXPORT EXTI0_IRQHandler [WEAK]
EXPORT EXTI1_IRQHandler [WEAK]
EXPORT EXTI2_IRQHandler [WEAK]
EXPORT EXTI3_IRQHandler [WEAK]
EXPORT EXTI4_IRQHandler [WEAK]
EXPORT DMA1_Channel1_IRQHandler [WEAK]
EXPORT DMA1_Channel2_IRQHandler [WEAK]
EXPORT DMA1_Channel3_IRQHandler [WEAK]
EXPORT DMA1_Channel4_IRQHandler [WEAK]
EXPORT DMA1_Channel5_IRQHandler [WEAK]
EXPORT DMA1_Channel6_IRQHandler [WEAK]
EXPORT DMA1_Channel7_IRQHandler [WEAK]
EXPORT ADC1_2_IRQHandler [WEAK]
EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK]
EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK]
EXPORT CAN1_RX1_IRQHandler [WEAK]
EXPORT CAN1_SCE_IRQHandler [WEAK]
EXPORT EXTI9_5_IRQHandler [WEAK]
EXPORT TIM1_BRK_IRQHandler [WEAK]
EXPORT TIM1_UP_IRQHandler [WEAK]
EXPORT TIM1_TRG_COM_IRQHandler [WEAK]
EXPORT TIM1_CC_IRQHandler [WEAK]
EXPORT TIM2_IRQHandler [WEAK]
EXPORT TIM3_IRQHandler [WEAK]
EXPORT TIM4_IRQHandler [WEAK]
EXPORT I2C1_EV_IRQHandler [WEAK]
EXPORT I2C1_ER_IRQHandler [WEAK]
EXPORT I2C2_EV_IRQHandler [WEAK]
EXPORT I2C2_ER_IRQHandler [WEAK]
EXPORT SPI1_IRQHandler [WEAK]
EXPORT SPI2_IRQHandler [WEAK]
EXPORT USART1_IRQHandler [WEAK]
EXPORT USART2_IRQHandler [WEAK]
EXPORT USART3_IRQHandler [WEAK]
EXPORT EXTI15_10_IRQHandler [WEAK]
EXPORT RTCAlarm_IRQHandler [WEAK]
EXPORT USBWakeUp_IRQHandler [WEAK]
WWDG_IRQHandler
PVD_IRQHandler
TAMPER_IRQHandler
RTC_IRQHandler
FLASH_IRQHandler
RCC_IRQHandler
EXTI0_IRQHandler
EXTI1_IRQHandler
EXTI2_IRQHandler
EXTI3_IRQHandler
EXTI4_IRQHandler
DMA1_Channel1_IRQHandler
DMA1_Channel2_IRQHandler
DMA1_Channel3_IRQHandler
DMA1_Channel4_IRQHandler
DMA1_Channel5_IRQHandler
DMA1_Channel6_IRQHandler
DMA1_Channel7_IRQHandler
ADC1_2_IRQHandler
USB_HP_CAN1_TX_IRQHandler
USB_LP_CAN1_RX0_IRQHandler
CAN1_RX1_IRQHandler
CAN1_SCE_IRQHandler
EXTI9_5_IRQHandler
TIM1_BRK_IRQHandler
TIM1_UP_IRQHandler
TIM1_TRG_COM_IRQHandler
TIM1_CC_IRQHandler
TIM2_IRQHandler
TIM3_IRQHandler
TIM4_IRQHandler
I2C1_EV_IRQHandler
I2C1_ER_IRQHandler
I2C2_EV_IRQHandler
I2C2_ER_IRQHandler
SPI1_IRQHandler
SPI2_IRQHandler
USART1_IRQHandler
USART2_IRQHandler
USART3_IRQHandler
EXTI15_10_IRQHandler
RTCAlarm_IRQHandler
USBWakeUp_IRQHandler
B .
ENDP
ALIGN
;*******************************************************************************
; User Stack and Heap initialization
;*******************************************************************************
IF :DEF:__MICROLIB
EXPORT __initial_sp
EXPORT __heap_base
EXPORT __heap_limit
ELSE
IMPORT __use_two_region_memory
EXPORT __user_initial_stackheap
__user_initial_stackheap
LDR R0, = Heap_Mem
LDR R1, =(Stack_Mem + Stack_Size)
LDR R2, = (Heap_Mem + Heap_Size)
LDR R3, = Stack_Mem
BX LR
ALIGN
ENDIF
END
;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE*****

View File

@ -0,0 +1,320 @@
#include "ble_app.h"
#include "ble_uart.h"
#include "ble_cfg.h"
#include "usart2.h"
#include "usart.h"
#include "string.h"
#include "led.h"
#include "delay.h"
#include "key.h"
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK STM32开发板
//ATK-BLE01模块功能驱动
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//修改日期:2020/7/2
//版本V1.0
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2020-2030
//All rights reserved
//********************************************************************************
//无
//BLE模块IO初始化
void Ble_IoInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //BLE_WKUP
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //推挽输出 IO口速度为50MHz
BLE_WKUP = 1;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //BLE_STA
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //下拉输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.4
usart2_init(115200);//初始化串口2
}
u8 sendbuf[50];
//BLE模块参数配置
void Ble_SetInit(void)
{
LED0 = 0; /*LED0亮*/
/*****进入配置模式*****/
while (ble_send_cmd("+++a", "a+ok", 5))
{
if (!ble_send_cmd("+++a", "ERROR", 10)) break; /**有可能模块已在配置模式,这时发送+++a,会返回error*/
LED1 = ~LED1;
delay_ms(100);
}
/*****AT测试*****/
if (!ble_send_cmd("AT", "OK", 5))
{
printf("AT OK\r\n");
}
/*****蓝牙名称设置*****/
sprintf((char *)sendbuf, "AT+NAME=%s", BLE_NAME);
if (!ble_send_cmd(sendbuf, "OK", 10))
{
printf("%s OK\r\n", sendbuf);
}
else
{
printf("%s ERROR\r\n", sendbuf);
}
/*****开机欢迎语设置*****/
sprintf((char *)sendbuf, "AT+HELLO=%s", BLE_HELLO);
if (!ble_send_cmd(sendbuf, "OK", 10))
{
printf("%s OK\r\n", sendbuf);
}
else
{
printf("%s ERROR\r\n", sendbuf);
}
/*****发射功率设置*****/
sprintf((char *)sendbuf, "AT+TPL=%d", BLE_TP_P2dBm);
if (!ble_send_cmd(sendbuf, "OK", 10))
{
printf("%s OK\r\n", sendbuf);
}
else
{
printf("%s ERROR\r\n", sendbuf);
}
/*****串口设置*****/
sprintf((char *)sendbuf, "AT+UART=%d,%d,%d,%d", BLE_UARTBPS, BLE_UARTDATE, BLE_UARTPR, BLE_UARTSTOP);
if (!ble_send_cmd(sendbuf, "OK", 10))
{
printf("%s OK\r\n", sendbuf);
}
else
{
printf("%s ERROR\r\n", sendbuf);
}
/*****广播速度设置*****/
sprintf((char *)sendbuf, "AT+ADPTIM=%d", BLE_ADPTIM );
if (!ble_send_cmd(sendbuf, "OK", 10))
{
printf("%s OK\r\n", sendbuf);
}
else
{
printf("%s ERROR\r\n", sendbuf);
}
/*****链路匹配连接设置*****/
#if BLE_LINKPASSEN
if (!ble_send_cmd("AT+LINKPASSEN=ON", "OK", 10)) /*使能*/
{
printf("AT+LINKPASSEN=ON OK\r\n");
}else
{
printf("AT+LINKPASSEN=ON ERROR\r\n");
}
#else
if (!ble_send_cmd("AT+LINKPASSEN=OFF", "OK", 10)) /*关闭*/
{
printf("AT+LINKPASSEN=OFF OK\r\n");
}else
{
printf("AT+LINKPASSEN=OFF ERROR\r\n");
}
#endif
/*****板载LED设置*****/
#if BLE_LEDEN
if (!ble_send_cmd("AT+LEDEN=ON", "OK", 10)) /*使能*/
{
printf("AT+LEDEN=ON OK\r\n");
}
else
{
printf("AT+LEDEN=ON ERROR\r\n");
}
#else
if (!ble_send_cmd("AT+LEDEN=OFF", "OK", 50)) /*关闭*/
{
printf("AT+LEDEN=OFF OK\r\n");
}
else
{
printf("AT+LEDEN=OFF ERROR\r\n");
}
#endif
/*****从设备断连睡眠设置*****/
#if BLE_SLAVESLEEPEN
if (!ble_send_cmd("AT+SLAVESLEEPEN=ON", "OK", 10)) /*使能*/
{
printf("AT+SLAVESLEEPEN=ON OK\r\n");
}
else
{
printf("AT+SLAVESLEEPEN=ON ERROR\r\n");
}
#else
if (!ble_send_cmd("AT+SLAVESLEEPEN=OFF", "OK", 10)) /*关闭*/
{
printf("AT+SLAVESLEEPEN=OFF OK\r\n");
}
else
{
printf("AT+SLAVESLEEPEN=OFF ERROR\r\n");
}
#endif
/*****蓝牙最大输出设置*****/
#if BLE_MAXPUT
if (!ble_send_cmd("AT+MAXPUT=ON", "OK", 10)) /*使能*/
{
printf("AT+MAXPUT=ON OK\r\n");
}
else
{
printf("AT+MAXPUT=ON ERROR\r\n");
}
#else
if (!ble_send_cmd("AT+MAXPUT=OFF", "OK", 10)) /*关闭*/
{
printf("AT+MAXPUT=OFF OK\r\n");
}
else
{
printf("AT+MAXPUT=OFF ERROR\r\n");
}
#endif
/*****工作模式设置(模式设置后,模块立即复位进入透传模式)*****/
sprintf((char *)sendbuf, "AT+MODE=%c", BLE_MODE_S );
if (!ble_send_cmd(sendbuf, "OK", 10))
{
printf("%s OK\r\n", sendbuf);
}
else
{
printf("%s ERROR\r\n", sendbuf);
}
LED0 = 1;/*LED0灭*/
}
/*BLE模块数据发送处理*/
void Ble_SendData(float data, float data2)
{
u2_printf("%.1f bmp %.1f %% ",data,data2);
}
/*BLE模块接收数据处理*/
void Ble_ReceData(void)
{
u16 i = 0;
u16 len = 0;
//有数据来了
if (USART2_RX_STA & 0x8000)
{
len = USART2_RX_STA & 0X7FFF;
USART2_RX_BUF[len] = 0; //添加结束符
USART2_RX_STA = 0;
for (i = 0; i < len; i++)
{
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); //循环发送,直到发送完毕
USART_SendData(USART1, USART2_RX_BUF[i]);
}
}
}
/*BLE进程处理*/
void Ble_Process(double data, double data2)
{
u8 BLE_LINK = 0; //1:蓝牙连接 0:未连接
static u8 flag1, flag2 = 0;
Ble_SendData(data, data2);/*数据发送处理*/
/*数据接收处理*/
Ble_ReceData();
/*BLE连接处理*/
if (BLE_STA)
{
BLE_LINK = 1; //蓝牙连接
if (!flag1)
{
flag1 = 1;
flag2 = 0;
printf("\r\nble connect!\r\n");
}
}
else
{
BLE_LINK = 0; //蓝牙断开
if (!flag2)
{
flag2 = 1;
flag1 = 0;
printf("\r\nble disconnect!\r\n");
}
}
}
void Ble_Init(void)
{
Ble_IoInit(); //BLE引脚初始化
Ble_SetInit();//BLE参数配置
}

View File

@ -0,0 +1,28 @@
#ifndef _BLE_APP_H_
#define _BLE_APP_H_
#include "sys.h"
#include "ble_cfg.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ATK-BLE01ģ<31><EFBFBD><E9B9A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2020/7/2
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2020-2030
//All rights reserved
//********************************************************************************
//<2F><>
#define BLE_STA PAin(4)
#define BLE_WKUP PAout(11)
void Ble_Test(void);
void Ble_Process(double data, double data2);
void Ble_Init(void);
#endif

View File

@ -0,0 +1,76 @@
#ifndef _BLE_CFG_H
#define _BLE_CFG_H
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK Mini STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5BFAA><EFBFBD><EFBFBD>
//ATK-BLE01ģ<31><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2020/7/2
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2020-2030
//All rights reserved
//********************************************************************************
//<2F><>
/*******************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***********************/
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#define BLE_NAME "ATK-WRJ"
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӭ<EFBFBD><D3AD>*/
#define BLE_HELLO "ATK-WRJ01"
/*<2A><><EFBFBD><EFBFBD>ģʽ*/
#define BLE_MODE_M 'M' /*<2A><>ģʽ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)*/
#define BLE_MODE_S 'S' /*<2A><>ģʽ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)*/
#define BLE_MODE_O 'O' /*<2A>۲<EFBFBD>ģʽ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C9A8><EFBFBD><EFBFBD><E3B2A5><EFBFBD><EFBFBD>)*/
#define BLE_MODE_B 'B' /*<2A>㲥ģʽ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><EFBFBD>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)*/
#define BLE_MODE_I 'I' /*iBeacon(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڶ<EFBFBD>λ)*/
/*<2A><><EFBFBD><EFBFBD><E4B9A6>*/
#define BLE_TP_N14dBm 1 /*-14dBm*/
#define BLE_TP_N11dBm 2 /*-11dBm*/
#define BLE_TP_N8dBm 3 /*-8dBm*/
#define BLE_TP_N5dBm 4 /*-5dBm*/
#define BLE_TP_N2dBm 5 /*-2dBm*/
#define BLE_TP_P2dBm 6 /*+2dBm*/
#define BLE_TP_P4dBm 7 /*+4dBm*/
#define BLE_TP_P8dBm 8 /*+8dBm*/
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#define BLE_UARTBPS 115200 /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Χ:1200-921600
(1200,2400,4800,9600,14400,19200<30><30>38400<30><30>43000
57600<30><30>76800<30><30>115200<30><30>128000<30><30>230400<30><30>256000<30><30>460800
921600)
*/
#define BLE_UARTDATE 8 /*<2A><><EFBFBD><EFBFBD>λ*/
#define BLE_UARTSTOP 1 /*ֹͣλ*/
#define BLE_UARTPR 0 /*<2A><>У<EFBFBD><D0A3>*/
/*<2A><EFBFBD>ٶ<EFBFBD>*/
#define BLE_ADPTIM 5 /*<2A><>λ:10ms */
/*<2A><>·ƥ<C2B7><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>*/
#define BLE_LINKPASSEN 0
/*<2A><><EFBFBD><EFBFBD>LEDʹ<44><CAB9>*/
#define BLE_LEDEN 1
/*<2A><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>˯<EFBFBD><CBAF>ʹ<EFBFBD><CAB9>*/
#define BLE_SLAVESLEEPEN 0
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>*/
#define BLE_MAXPUT 0
/************************************************/
/*LED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#define LED0_ON "+LED0:ON"
#define LED0_OFF "+LED0:OFF"
#endif

View File

@ -0,0 +1,78 @@
#include "ble_uart.h"
#include "delay.h"
#include "string.h"
#include "usart2.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ATK-BLE01ģ<31><C4A3><EFBFBD>ײ㴦<D7B2><E3B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2020/7/2
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2020-2030
//All rights reserved
//********************************************************************************
//<2F><>
//BLE<4C><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>Ӧ<EFBFBD><D3A6>
//str:<3A>ڴ<EFBFBD><DAB4><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ:0,û<>еõ<D0B5><C3B5>ڴ<EFBFBD><DAB4><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>,<2C>ڴ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>(str<74><72>λ<EFBFBD><CEBB>)
u8 *ble_check_cmd(u8 *str)
{
char *strx = 0;
if (USART2_RX_STA & 0X8000) //<2F><><EFBFBD>յ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
USART2_RX_BUF[USART2_RX_STA & 0X7FFF] = 0; //<2F><><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>
strx = strstr((const char *)USART2_RX_BUF, (const char *)str);
}
return (u8 *)strx;
}
//BLE<4C><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//cmd:<3A><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>(<28><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ӻس<D3BB><D8B3><EFBFBD>),<2C><>cmd<0XFF<46><46>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><E7B7A2>0X1A),<2C><><EFBFBD>ڵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>.
//ack:<3A>ڴ<EFBFBD><DAB4><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>,<2C><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ҫ<EFBFBD>ȴ<EFBFBD>Ӧ<EFBFBD><D3A6>
//waittime:<3A>ȴ<EFBFBD>ʱ<EFBFBD><CAB1>(<28><>λ:10ms)
//<2F><><EFBFBD><EFBFBD>ֵ:0,<2C><><EFBFBD>ͳɹ<CDB3>(<28>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
// 1,<2C><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
u8 ble_send_cmd(u8 *cmd, u8 *ack, u16 waittime)
{
u8 res = 0;
USART2_RX_STA = 0;
if ((u32)cmd <= 0XFF)
{
while (DMA1_Channel7->CNDTR != 0); //<2F>ȴ<EFBFBD>ͨ<EFBFBD><CDA8>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
USART2->DR = (u32)cmd;
}
else u2_printf("%s\r\n", cmd);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (ack && waittime) //<2F><>Ҫ<EFBFBD>ȴ<EFBFBD>Ӧ<EFBFBD><D3A6>
{
while (--waittime) //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>ʱ
{
delay_ms(10);
if (USART2_RX_STA & 0X8000) //<2F><><EFBFBD>յ<EFBFBD><D5B5>ڴ<EFBFBD><DAB4><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if (ble_check_cmd(ack))
{
USART2_RX_STA = 0;
break;//<2F>õ<EFBFBD><C3B5><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
}
USART2_RX_STA = 0;
}
}
if (waittime == 0)res = 1;
}
return res;
}

View File

@ -0,0 +1,27 @@
#ifndef __BLE_UART_H__
#define __BLE_UART_H__
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ATK-BLE01ģ<31><C4A3><EFBFBD>ײ㴦<D7B2><E3B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2020/7/2
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2020-2030
//All rights reserved
//********************************************************************************
//<2F><>
u8 *ble_check_cmd(u8 *str);
u8 ble_send_cmd(u8 *cmd, u8 *ack, u16 waittime);
#endif

View File

@ -0,0 +1,62 @@
#include "key.h"
#include "delay.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK Mini STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2014/3/06
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//PA0.15<EFBFBD><EFBFBD>PC5 <20><><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE);//ʹ<><CAB9>PORTA,PORTCʱ<43><CAB1>
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//<2F>ر<EFBFBD>jtag<61><67>ʹ<EFBFBD><CAB9>SWD<57><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SWDģʽ<C4A3><CABD><EFBFBD><EFBFBD>
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;//PA15
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //<2F><><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_Init(GPIOA, &GPIO_InitStructure);//<2F><>ʼ<EFBFBD><CABC>GPIOA15
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//PC5
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //<2F><><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_Init(GPIOC, &GPIO_InitStructure);//<2F><>ʼ<EFBFBD><CABC>GPIOC5
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;//PA0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0<41><30><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_Init(GPIOA, &GPIO_InitStructure);//<2F><>ʼ<EFBFBD><CABC>GPIOA.0
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>ذ<EFBFBD><D8B0><EFBFBD>ֵ
//mode:0,<2C><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;1,֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
//0<><30>û<EFBFBD><C3BB><EFBFBD>κΰ<CEBA><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//KEY0_PRES<45><53>KEY0<59><30><EFBFBD><EFBFBD>
//KEY1_PRES<45><53>KEY1<59><31><EFBFBD><EFBFBD>
//WKUP_PRES<45><53>WK_UP<55><50><EFBFBD><EFBFBD>
//ע<><D7A2><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD>,KEY0>KEY1>WK_UP!!
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>־
if(mode)key_up=1; //֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))
{
delay_ms(10);//ȥ<><C8A5><EFBFBD><EFBFBD>
key_up=0;
if(KEY0==0)return KEY0_PRES;
else if(KEY1==0)return KEY1_PRES;
else if(WK_UP==1)return WKUP_PRES;
}else if(KEY0==1&&KEY1==1&&WK_UP==0)key_up=1;
return 0;// <20>ް<EFBFBD><DEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}

View File

@ -0,0 +1,34 @@
#ifndef __KEY_H
#define __KEY_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK miniSTM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2012/9/3
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//#define KEY0 PCin(5)
//#define KEY1 PAin(15)
//#define WK_UP PAin(0)
#define KEY0 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>0
#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>1
#define WK_UP GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>2
#define KEY0_PRES 1 //KEY0
#define KEY1_PRES 2 //KEY1
#define WKUP_PRES 3 //WK_UP
void KEY_Init(void);//IO<49><4F>ʼ<EFBFBD><CABC>
u8 KEY_Scan(u8 mode); //<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><E8BAAF>
#endif

View File

@ -0,0 +1,36 @@
#include "led.h"
#include "delay.h"
void LED_Init(void)
{
//<2F><><EFBFBD><EFBFBD>GPIOBʱ<42><CAB1>
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
//<2F><><EFBFBD><EFBFBD>LED<45><44><EFBFBD><EFBFBD>Ϊģ<CEAA><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = LED_GPIO_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(LED_GPIO_PROT, &GPIO_InitStructure);
GPIO_ResetBits(LED_GPIO_PROT, LED_GPIO_PIN);
}
void LED_Toggle(void)
{
GPIO_WriteBit(LED_GPIO_PROT, LED_GPIO_PIN, (BitAction)((1-GPIO_ReadOutputDataBit(LED_GPIO_PROT, LED_GPIO_PIN))));//led<65><64>ƽ<EFBFBD><C6BD>ת
}
void LED_On()
{
GPIO_ResetBits(LED_GPIO_PROT, LED_GPIO_PIN);
}
void LED_Off()
{
GPIO_SetBits(LED_GPIO_PROT, LED_GPIO_PIN);
}
void LED_Twinkle()
{
LED_On();
delay_ms(10);
LED_Off();
}

View File

@ -0,0 +1,17 @@
#ifndef __LED_H
#define __LED_H
#include "stm32f10x.h" // Device header
#define LED_GPIO_PROT GPIOC
#define LED_GPIO_PIN GPIO_Pin_13
#define LED0 PAout(8) // PA8
#define LED1 PDout(2) // PD2
void LED_Init(void);
void LED_Toggle(void);
void LED_On(void);
void LED_Off(void);
void LED_Twinkle(void);
#endif

View File

@ -0,0 +1,904 @@
#include "max30102.h"
#include "delay.h"
/*****************<2A><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>******************
STM32
* <20>ļ<EFBFBD> : MAX30102<30><32><EFBFBD><EFBFBD>Ѫ<EFBFBD><D1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>ļ<EFBFBD>
* <20>汾 : V1.0
* <20><><EFBFBD><EFBFBD> : 2024.8.18
* MCU : STM32F103C8T6
* <20>ӿ<EFBFBD> : <09><>max30102.h<>ļ<EFBFBD>
* BILIBILI : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* CSDN : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD> : <09><><EFBFBD><EFBFBD>
**********************BEGIN***********************/
u8 max30102_Bus_Write(u8 Register_Address, u8 Word_Data)
{
/* <20><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>EEPROM<4F><EFBFBD><E6BCB4>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD> */
/* <20><>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> */
MAX30102_IIC_Start();
/* <20><>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>7bit<69>ǵ<EFBFBD>ַ<EFBFBD><D6B7>bit0<74>Ƕ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>0<EFBFBD><30>ʾд<CABE><D0B4>1<EFBFBD><31>ʾ<EFBFBD><CABE> */
MAX30102_IIC_Send_Byte(max30102_WR_address | I2C_WR); /* <20>˴<EFBFBD><CBB4><EFBFBD>дָ<D0B4><D6B8> */
/* <20><>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڵ<D6BD>ַ */
MAX30102_IIC_Send_Byte(Register_Address);
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼд<CABC><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
MAX30102_IIC_Send_Byte(Word_Data);
/* <20><>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
return 1; /* ִ<>гɹ<D0B3> */
cmd_fail: /* <20><><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʧ<EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD>мǷ<D0BC><C7B7><EFBFBD>ֹͣ<CDA3>źţ<C5BA><C5A3><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 */
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
return 0;
}
u8 max30102_Bus_Read(u8 Register_Address)
{
u8 data;
/* <20><>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> */
MAX30102_IIC_Start();
/* <20><>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>7bit<69>ǵ<EFBFBD>ַ<EFBFBD><D6B7>bit0<74>Ƕ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>0<EFBFBD><30>ʾд<CABE><D0B4>1<EFBFBD><31>ʾ<EFBFBD><CABE> */
MAX30102_IIC_Send_Byte(max30102_WR_address | I2C_WR); /* <20>˴<EFBFBD><CBB4><EFBFBD>дָ<D0B4><D6B8> */
/* <20><>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڵ<D6BD>ַ<EFBFBD><D6B7> */
MAX30102_IIC_Send_Byte((uint8_t)Register_Address);
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD>ʼ<E6BFAA><CABC>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> */
MAX30102_IIC_Start();
/* <20><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>7bit<69>ǵ<EFBFBD>ַ<EFBFBD><D6B7>bit0<74>Ƕ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>0<EFBFBD><30>ʾд<CABE><D0B4>1<EFBFBD><31>ʾ<EFBFBD><CABE> */
MAX30102_IIC_Send_Byte(max30102_WR_address | I2C_RD); /* <20>˴<EFBFBD><CBB4>Ƕ<EFBFBD>ָ<EFBFBD><D6B8> */
/* <20><>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> */
{
data = MAX30102_IIC_Read_Byte(0); /* <20><>1<EFBFBD><31><EFBFBD>ֽ<EFBFBD> */
MAX30102_IIC_NAck(); /* <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU<50><55><EFBFBD><EFBFBD>NACK<43>ź<EFBFBD>(<28><><EFBFBD><EFBFBD>SDA = 1) */
}
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
return data; /* ִ<>гɹ<D0B3> <20><><EFBFBD><EFBFBD>dataֵ */
cmd_fail: /* <20><><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʧ<EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD>мǷ<D0BC><C7B7><EFBFBD>ֹͣ<CDA3>źţ<C5BA><C5A3><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 */
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
return 0;
}
void max30102_FIFO_ReadWords(u8 Register_Address,u16 Word_Data[][2],u8 count)
{
u8 i=0;
u8 no = count;
u8 data1, data2;
/* <20><>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> */
MAX30102_IIC_Start();
/* <20><>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>7bit<69>ǵ<EFBFBD>ַ<EFBFBD><D6B7>bit0<74>Ƕ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>0<EFBFBD><30>ʾд<CABE><D0B4>1<EFBFBD><31>ʾ<EFBFBD><CABE> */
MAX30102_IIC_Send_Byte(max30102_WR_address | I2C_WR); /* <20>˴<EFBFBD><CBB4><EFBFBD>дָ<D0B4><D6B8> */
/* <20><>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڵ<D6BD>ַ<EFBFBD><D6B7> */
MAX30102_IIC_Send_Byte((uint8_t)Register_Address);
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD>ʼ<E6BFAA><CABC>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> */
MAX30102_IIC_Start();
/* <20><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>7bit<69>ǵ<EFBFBD>ַ<EFBFBD><D6B7>bit0<74>Ƕ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>0<EFBFBD><30>ʾд<CABE><D0B4>1<EFBFBD><31>ʾ<EFBFBD><CABE> */
MAX30102_IIC_Send_Byte(max30102_WR_address | I2C_RD); /* <20>˴<EFBFBD><CBB4>Ƕ<EFBFBD>ָ<EFBFBD><D6B8> */
/* <20><>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> */
while (no)
{
data1 = MAX30102_IIC_Read_Byte(0);
MAX30102_IIC_Ack();
data2 = MAX30102_IIC_Read_Byte(0);
MAX30102_IIC_Ack();
Word_Data[i][0] = (((u16)data1 << 8) | data2); //
data1 = MAX30102_IIC_Read_Byte(0);
MAX30102_IIC_Ack();
data2 = MAX30102_IIC_Read_Byte(0);
if(1==no)
MAX30102_IIC_NAck(); /* <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU<50><55><EFBFBD><EFBFBD>NACK<43>ź<EFBFBD>(<28><><EFBFBD><EFBFBD>SDA = 1) */
else
MAX30102_IIC_Ack();
Word_Data[i][1] = (((u16)data1 << 8) | data2);
no--;
i++;
}
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
cmd_fail: /* <20><><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʧ<EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD>мǷ<D0BC><C7B7><EFBFBD>ֹͣ<CDA3>źţ<C5BA><C5A3><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 */
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
}
void max30102_FIFO_ReadBytes(u8 Register_Address,u8* Data)
{
max30102_Bus_Read(REG_INTR_STATUS_1);
max30102_Bus_Read(REG_INTR_STATUS_2);
/* <20><>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> */
MAX30102_IIC_Start();
/* <20><>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>7bit<69>ǵ<EFBFBD>ַ<EFBFBD><D6B7>bit0<74>Ƕ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>0<EFBFBD><30>ʾд<CABE><D0B4>1<EFBFBD><31>ʾ<EFBFBD><CABE> */
MAX30102_IIC_Send_Byte(max30102_WR_address | I2C_WR); /* <20>˴<EFBFBD><CBB4><EFBFBD>дָ<D0B4><D6B8> */
/* <20><>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڵ<D6BD>ַ<EFBFBD><D6B7> */
MAX30102_IIC_Send_Byte((uint8_t)Register_Address);
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I2C<32><43><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD>ʼ<E6BFAA><CABC>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> */
MAX30102_IIC_Start();
/* <20><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD>7bit<69>ǵ<EFBFBD>ַ<EFBFBD><D6B7>bit0<74>Ƕ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>0<EFBFBD><30>ʾд<CABE><D0B4>1<EFBFBD><31>ʾ<EFBFBD><CABE> */
MAX30102_IIC_Send_Byte(max30102_WR_address | I2C_RD); /* <20>˴<EFBFBD><CBB4>Ƕ<EFBFBD>ָ<EFBFBD><D6B8> */
/* <20><>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK */
if (MAX30102_IIC_Wait_Ack() != 0)
{
goto cmd_fail; /* EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> */
}
/* <20><>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> */
Data[0] = MAX30102_IIC_Read_Byte(1);
Data[1] = MAX30102_IIC_Read_Byte(1);
Data[2] = MAX30102_IIC_Read_Byte(1);
Data[3] = MAX30102_IIC_Read_Byte(1);
Data[4] = MAX30102_IIC_Read_Byte(1);
Data[5] = MAX30102_IIC_Read_Byte(0);
/* <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU<50><55><EFBFBD><EFBFBD>NACK<43>ź<EFBFBD>(<28><><EFBFBD><EFBFBD>SDA = 1) */
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
cmd_fail: /* <20><><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʧ<EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD>мǷ<D0BC><C7B7><EFBFBD>ֹͣ<CDA3>źţ<C5BA><C5A3><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸 */
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD>ֹͣ<CDA3>ź<EFBFBD> */
MAX30102_IIC_Stop();
// u8 i;
// u8 fifo_wr_ptr;
// u8 firo_rd_ptr;
// u8 number_tp_read;
// //Get the FIFO_WR_PTR
// fifo_wr_ptr = max30102_Bus_Read(REG_FIFO_WR_PTR);
// //Get the FIFO_RD_PTR
// firo_rd_ptr = max30102_Bus_Read(REG_FIFO_RD_PTR);
//
// number_tp_read = fifo_wr_ptr - firo_rd_ptr;
//
// //for(i=0;i<number_tp_read;i++){
// if(number_tp_read>0){
// MAX30102_IIC_ReadBytes(max30102_WR_address,REG_FIFO_DATA,Data,6);
// }
//max30102_Bus_Write(REG_FIFO_RD_PTR,fifo_wr_ptr);
}
void MAX30102_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOB, &GPIO_InitStructure);
MAX30102_IIC_Init();
MAX30102_Reset();
// max30102_Bus_Write(REG_MODE_CONFIG, 0x0b); //mode configuration : temp_en[3] MODE[2:0]=010 HR only enabled 011 SP02 enabled
// max30102_Bus_Write(REG_INTR_STATUS_2, 0xF0); //open all of interrupt
// max30102_Bus_Write(REG_INTR_STATUS_1, 0x00); //all interrupt clear
// max30102_Bus_Write(REG_INTR_ENABLE_2, 0x02); //DIE_TEMP_RDY_EN
// max30102_Bus_Write(REG_TEMP_CONFIG, 0x01); //SET TEMP_EN
// max30102_Bus_Write(REG_SPO2_CONFIG, 0x47); //SPO2_SR[4:2]=001 100 per second LED_PW[1:0]=11 16BITS
// max30102_Bus_Write(REG_LED1_PA, 0x47);
// max30102_Bus_Write(REG_LED2_PA, 0x47);
max30102_Bus_Write(REG_INTR_ENABLE_1,0xc0); // INTR setting
max30102_Bus_Write(REG_INTR_ENABLE_2,0x00);
max30102_Bus_Write(REG_FIFO_WR_PTR,0x00); //FIFO_WR_PTR[4:0]
max30102_Bus_Write(REG_OVF_COUNTER,0x00); //OVF_COUNTER[4:0]
max30102_Bus_Write(REG_FIFO_RD_PTR,0x00); //FIFO_RD_PTR[4:0]
max30102_Bus_Write(REG_FIFO_CONFIG,0x0f); //sample avg = 1, fifo rollover=false, fifo almost full = 17
max30102_Bus_Write(REG_MODE_CONFIG,0x03); //0x02 for Red only, 0x03 for SpO2 mode 0x07 multimode LED
max30102_Bus_Write(REG_SPO2_CONFIG,0x27); // SPO2_ADC range = 4096nA, SPO2 sample rate (100 Hz), LED pulseWidth (400uS)
max30102_Bus_Write(REG_LED1_PA,0x24); //Choose value for ~ 7mA for LED1
max30102_Bus_Write(REG_LED2_PA,0x24); // Choose value for ~ 7mA for LED2
max30102_Bus_Write(REG_PILOT_PA,0x7f); // Choose value for ~ 25mA for Pilot LED
}
void MAX30102_Reset(void)
{
max30102_Bus_Write(REG_MODE_CONFIG,0x40);
max30102_Bus_Write(REG_MODE_CONFIG,0x40);
}
void maxim_max30102_write_reg(uint8_t uch_addr, uint8_t uch_data)
{
// char ach_i2c_data[2];
// ach_i2c_data[0]=uch_addr;
// ach_i2c_data[1]=uch_data;
//
// MAX30102_IIC_WriteBytes(I2C_WRITE_ADDR, ach_i2c_data, 2);
MAX30102_IIC_Write_One_Byte(I2C_WRITE_ADDR,uch_addr,uch_data);
}
void maxim_max30102_read_reg(uint8_t uch_addr, uint8_t *puch_data)
{
// char ch_i2c_data;
// ch_i2c_data=uch_addr;
// MAX30102_IIC_WriteBytes(I2C_WRITE_ADDR, &ch_i2c_data, 1);
//
// i2c.read(I2C_READ_ADDR, &ch_i2c_data, 1);
//
// *puch_data=(uint8_t) ch_i2c_data;
MAX30102_IIC_Read_One_Byte(I2C_WRITE_ADDR,uch_addr,puch_data);
}
void maxim_max30102_read_fifo(uint32_t *pun_red_led, uint32_t *pun_ir_led)
{
uint32_t un_temp;
unsigned char uch_temp;
char ach_i2c_data[6];
*pun_red_led=0;
*pun_ir_led=0;
//read and clear status register
maxim_max30102_read_reg(REG_INTR_STATUS_1, &uch_temp);
maxim_max30102_read_reg(REG_INTR_STATUS_2, &uch_temp);
MAX30102_IIC_ReadBytes(I2C_WRITE_ADDR,REG_FIFO_DATA,(u8 *)ach_i2c_data,6);
un_temp=(unsigned char) ach_i2c_data[0];
un_temp<<=16;
*pun_red_led+=un_temp;
un_temp=(unsigned char) ach_i2c_data[1];
un_temp<<=8;
*pun_red_led+=un_temp;
un_temp=(unsigned char) ach_i2c_data[2];
*pun_red_led+=un_temp;
un_temp=(unsigned char) ach_i2c_data[3];
un_temp<<=16;
*pun_ir_led+=un_temp;
un_temp=(unsigned char) ach_i2c_data[4];
un_temp<<=8;
*pun_ir_led+=un_temp;
un_temp=(unsigned char) ach_i2c_data[5];
*pun_ir_led+=un_temp;
*pun_red_led&=0x03FFFF; //Mask MSB [23:18]
*pun_ir_led&=0x03FFFF; //Mask MSB [23:18]
}
//MAX30102<30><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
void MAX30102_IIC_SDA_OUT(void)//SDA<44><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=MAX30102_IIC_SDA_PIN;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//SDA<44><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_Init(MAX30102_IIC_PORT,&GPIO_InitStructure);
}
void MAX30102_IIC_SDA_IN(void)//SDA<44><41><EFBFBD><EFBFBD><EBB7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=MAX30102_IIC_SDA_PIN;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//SCL<43><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_Init(MAX30102_IIC_PORT,&GPIO_InitStructure);
}
//<2F><>ʼ<EFBFBD><CABC>IIC
void MAX30102_IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//RCC->APB2ENR|=1<<4;//<2F><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO PORTCʱ<43><CAB1>
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE );
GPIO_InitStructure.GPIO_Pin = MAX30102_IIC_SCL_PIN|MAX30102_IIC_SDA_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(MAX30102_IIC_PORT, &GPIO_InitStructure);
MAX30102_IIC_SCL=1;
MAX30102_IIC_SDA=1;
}
//<2F><><EFBFBD><EFBFBD>IIC<49><43>ʼ<EFBFBD>ź<EFBFBD>
void MAX30102_IIC_Start(void)
{
MAX30102_IIC_SDA_OUT(); //sda<64><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MAX30102_IIC_SDA=1;
MAX30102_IIC_SCL=1;
delay_us(4);
MAX30102_IIC_SDA=0;//START:when CLK is high,DATA change form high to low
delay_us(4);
MAX30102_IIC_SCL=0;//ǯסI2C<32><43><EFBFBD>ߣ<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD>IICֹͣ<CDA3>ź<EFBFBD>
void MAX30102_IIC_Stop(void)
{
MAX30102_IIC_SDA_OUT();//sda<64><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MAX30102_IIC_SCL=0;
MAX30102_IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
delay_us(4);
MAX30102_IIC_SCL=1;
MAX30102_IIC_SDA=1;//<2F><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD>ź<EFBFBD>
delay_us(4);
}
//<2F>ȴ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>źŵ<C5BA><C5B5><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ʧ<EFBFBD><CAA7>
// 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ɹ<EFBFBD>
u8 MAX30102_IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
MAX30102_IIC_SDA_IN(); //SDA<44><41><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
MAX30102_IIC_SDA=1;delay_us(1);
MAX30102_IIC_SCL=1;delay_us(1);
while(MAX30102_READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
MAX30102_IIC_Stop();
return 1;
}
}
MAX30102_IIC_SCL=0;//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
return 0;
}
//<2F><><EFBFBD><EFBFBD>ACKӦ<4B><D3A6>
void MAX30102_IIC_Ack(void)
{
MAX30102_IIC_SCL=0;
MAX30102_IIC_SDA_OUT();
MAX30102_IIC_SDA=0;
delay_us(2);
MAX30102_IIC_SCL=1;
delay_us(2);
MAX30102_IIC_SCL=0;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACKӦ<4B><D3A6>
void MAX30102_IIC_NAck(void)
{
MAX30102_IIC_SCL=0;
MAX30102_IIC_SDA_OUT();
MAX30102_IIC_SDA=1;
delay_us(2);
MAX30102_IIC_SCL=1;
delay_us(2);
MAX30102_IIC_SCL=0;
}
//IIC<49><43><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
//<2F><><EFBFBD>شӻ<D8B4><D3BB><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
//1<><31><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
//0<><30><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
void MAX30102_IIC_Send_Byte(u8 txd)
{
u8 t;
MAX30102_IIC_SDA_OUT();
MAX30102_IIC_SCL=0;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>ӿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
for(t=0;t<8;t++)
{
MAX30102_IIC_SDA=(txd&0x80)>>7;
txd<<=1;
delay_us(2); //<2F><>TEA5767<36><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
MAX30102_IIC_SCL=1;
delay_us(2);
MAX30102_IIC_SCL=0;
delay_us(2);
}
}
//<2F><>1<EFBFBD><31><EFBFBD>ֽڣ<D6BD>ack=1ʱ<31><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK<43><4B>ack=0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nACK
u8 MAX30102_IIC_Read_Byte(unsigned char ack)
{
unsigned char i,receive=0;
MAX30102_IIC_SDA_IN();//SDA<44><41><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
for(i=0;i<8;i++ )
{
MAX30102_IIC_SCL=0;
delay_us(2);
MAX30102_IIC_SCL=1;
receive<<=1;
if(MAX30102_READ_SDA)receive++;
delay_us(1);
}
if (!ack)
MAX30102_IIC_NAck();//<2F><><EFBFBD><EFBFBD>nACK
else
MAX30102_IIC_Ack(); //<2F><><EFBFBD><EFBFBD>ACK
return receive;
}
void MAX30102_IIC_WriteBytes(u8 WriteAddr,u8* data,u8 dataLength)
{
u8 i;
MAX30102_IIC_Start();
MAX30102_IIC_Send_Byte(WriteAddr); //<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
MAX30102_IIC_Wait_Ack();
for(i=0;i<dataLength;i++)
{
MAX30102_IIC_Send_Byte(data[i]);
MAX30102_IIC_Wait_Ack();
}
MAX30102_IIC_Stop();//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
delay_ms(10);
}
void MAX30102_IIC_ReadBytes(u8 deviceAddr, u8 writeAddr,u8* data,u8 dataLength)
{
u8 i;
MAX30102_IIC_Start();
MAX30102_IIC_Send_Byte(deviceAddr); //<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
MAX30102_IIC_Wait_Ack();
MAX30102_IIC_Send_Byte(writeAddr);
MAX30102_IIC_Wait_Ack();
MAX30102_IIC_Send_Byte(deviceAddr|0X01);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
MAX30102_IIC_Wait_Ack();
for(i=0;i<dataLength-1;i++)
{
data[i] = MAX30102_IIC_Read_Byte(1);
}
data[dataLength-1] = MAX30102_IIC_Read_Byte(0);
MAX30102_IIC_Stop();//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
delay_ms(10);
}
void MAX30102_IIC_Read_One_Byte(u8 daddr,u8 addr,u8* data)
{
MAX30102_IIC_Start();
MAX30102_IIC_Send_Byte(daddr); //<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
MAX30102_IIC_Wait_Ack();
MAX30102_IIC_Send_Byte(addr);//<2F><><EFBFBD>͵<EFBFBD>ַ
MAX30102_IIC_Wait_Ack();
MAX30102_IIC_Start();
MAX30102_IIC_Send_Byte(daddr|0X01);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
MAX30102_IIC_Wait_Ack();
*data = MAX30102_IIC_Read_Byte(0);
MAX30102_IIC_Stop();//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
}
void MAX30102_IIC_Write_One_Byte(u8 daddr,u8 addr,u8 data)
{
MAX30102_IIC_Start();
MAX30102_IIC_Send_Byte(daddr); //<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
MAX30102_IIC_Wait_Ack();
MAX30102_IIC_Send_Byte(addr);//<2F><><EFBFBD>͵<EFBFBD>ַ
MAX30102_IIC_Wait_Ack();
MAX30102_IIC_Send_Byte(data); //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>
MAX30102_IIC_Wait_Ack();
MAX30102_IIC_Stop();//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
delay_ms(10);
}
const uint16_t auw_hamm[31]={ 41, 276, 512, 276, 41 }; //Hamm= long16(512* hamming(5)');
//uch_spo2_table is computed as -45.060*ratioAverage* ratioAverage + 30.354 *ratioAverage + 94.845 ;
const uint8_t uch_spo2_table[184]={ 95, 95, 95, 96, 96, 96, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 99, 99, 99, 99,
99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 97, 97,
97, 97, 96, 96, 96, 96, 95, 95, 95, 94, 94, 94, 93, 93, 93, 92, 92, 92, 91, 91,
90, 90, 89, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 82, 82, 81, 81,
80, 80, 79, 78, 78, 77, 76, 76, 75, 74, 74, 73, 72, 72, 71, 70, 69, 69, 68, 67,
66, 66, 65, 64, 63, 62, 62, 61, 60, 59, 58, 57, 56, 56, 55, 54, 53, 52, 51, 50,
49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 31, 30, 29,
28, 27, 26, 25, 23, 22, 21, 20, 19, 17, 16, 15, 14, 12, 11, 10, 9, 7, 6, 5,
3, 2, 1 } ;
static int32_t an_dx[ BUFFER_SIZE-MA4_SIZE]; // delta
static int32_t an_x[ BUFFER_SIZE]; //ir
static int32_t an_y[ BUFFER_SIZE]; //red
void maxim_heart_rate_and_oxygen_saturation(uint32_t *pun_ir_buffer, int32_t n_ir_buffer_length, uint32_t *pun_red_buffer, int32_t *pn_spo2, int8_t *pch_spo2_valid,
int32_t *pn_heart_rate, int8_t *pch_hr_valid)
/**
* \brief Calculate the heart rate and SpO2 level
* \par Details
* By detecting peaks of PPG cycle and corresponding AC/DC of red/infra-red signal, the ratio for the SPO2 is computed.
* Since this algorithm is aiming for Arm M0/M3. formaula for SPO2 did not achieve the accuracy due to register overflow.
* Thus, accurate SPO2 is precalculated and save longo uch_spo2_table[] per each ratio.
*
* \param[in] *pun_ir_buffer - IR sensor data buffer
* \param[in] n_ir_buffer_length - IR sensor data buffer length
* \param[in] *pun_red_buffer - Red sensor data buffer
* \param[out] *pn_spo2 - Calculated SpO2 value
* \param[out] *pch_spo2_valid - 1 if the calculated SpO2 value is valid
* \param[out] *pn_heart_rate - Calculated heart rate value
* \param[out] *pch_hr_valid - 1 if the calculated heart rate value is valid
*
* \retval None
*/
{
uint32_t un_ir_mean ,un_only_once ;
int32_t k ,n_i_ratio_count;
int32_t i, s, m, n_exact_ir_valley_locs_count ,n_middle_idx;
int32_t n_th1, n_npks,n_c_min;
int32_t an_ir_valley_locs[15] ;
int32_t an_exact_ir_valley_locs[15] ;
int32_t an_dx_peak_locs[15] ;
int32_t n_peak_interval_sum;
int32_t n_y_ac, n_x_ac;
int32_t n_spo2_calc;
int32_t n_y_dc_max, n_x_dc_max;
int32_t n_y_dc_max_idx, n_x_dc_max_idx;
int32_t an_ratio[5],n_ratio_average;
int32_t n_nume, n_denom ;
// remove DC of ir signal
un_ir_mean =0;
for (k=0 ; k<n_ir_buffer_length ; k++ ) un_ir_mean += pun_ir_buffer[k] ;
un_ir_mean =un_ir_mean/n_ir_buffer_length ;
for (k=0 ; k<n_ir_buffer_length ; k++ ) an_x[k] = pun_ir_buffer[k] - un_ir_mean ;
// 4 pt Moving Average
for(k=0; k< BUFFER_SIZE-MA4_SIZE; k++){
n_denom= ( an_x[k]+an_x[k+1]+ an_x[k+2]+ an_x[k+3]);
an_x[k]= n_denom/(int32_t)4;
}
// get difference of smoothed IR signal
for( k=0; k<BUFFER_SIZE-MA4_SIZE-1; k++)
an_dx[k]= (an_x[k+1]- an_x[k]);
// 2-pt Moving Average to an_dx
for(k=0; k< BUFFER_SIZE-MA4_SIZE-2; k++){
an_dx[k] = ( an_dx[k]+an_dx[k+1])/2 ;
}
// hamming window
// flip wave form so that we can detect valley with peak detector
for ( i=0 ; i<BUFFER_SIZE-HAMMING_SIZE-MA4_SIZE-2 ;i++){
s= 0;
for( k=i; k<i+ HAMMING_SIZE ;k++){
s -= an_dx[k] *auw_hamm[k-i] ;
}
an_dx[i]= s/ (int32_t)1146; // divide by sum of auw_hamm
}
n_th1=0; // threshold calculation
for ( k=0 ; k<BUFFER_SIZE-HAMMING_SIZE ;k++){
n_th1 += ((an_dx[k]>0)? an_dx[k] : ((int32_t)0-an_dx[k])) ;
}
n_th1= n_th1/ ( BUFFER_SIZE-HAMMING_SIZE);
// peak location is acutally index for sharpest location of raw signal since we flipped the signal
maxim_find_peaks( an_dx_peak_locs, &n_npks, an_dx, BUFFER_SIZE-HAMMING_SIZE, n_th1, 8, 5 );//peak_height, peak_distance, max_num_peaks
n_peak_interval_sum =0;
if (n_npks>=2){
for (k=1; k<n_npks; k++)
n_peak_interval_sum += (an_dx_peak_locs[k]-an_dx_peak_locs[k -1]);
n_peak_interval_sum=n_peak_interval_sum/(n_npks-1);
*pn_heart_rate=(int32_t)(6000/n_peak_interval_sum);// beats per minutes
*pch_hr_valid = 1;
}
else {
*pn_heart_rate = -999;
*pch_hr_valid = 0;
}
for ( k=0 ; k<n_npks ;k++)
an_ir_valley_locs[k]=an_dx_peak_locs[k]+HAMMING_SIZE/2;
// raw value : RED(=y) and IR(=X)
// we need to assess DC and AC value of ir and red PPG.
for (k=0 ; k<n_ir_buffer_length ; k++ ) {
an_x[k] = pun_ir_buffer[k] ;
an_y[k] = pun_red_buffer[k] ;
}
// find precise min near an_ir_valley_locs
n_exact_ir_valley_locs_count =0;
for(k=0 ; k<n_npks ;k++){
un_only_once =1;
m=an_ir_valley_locs[k];
n_c_min= 16777216;//2^24;
if (m+5 < BUFFER_SIZE-HAMMING_SIZE && m-5 >0){
for(i= m-5;i<m+5; i++)
if (an_x[i]<n_c_min){
if (un_only_once >0){
un_only_once =0;
}
n_c_min= an_x[i] ;
an_exact_ir_valley_locs[k]=i;
}
if (un_only_once ==0)
n_exact_ir_valley_locs_count ++ ;
}
}
if (n_exact_ir_valley_locs_count <2 ){
*pn_spo2 = -999 ; // do not use SPO2 since signal ratio is out of range
*pch_spo2_valid = 0;
return;
}
// 4 pt MA
for(k=0; k< BUFFER_SIZE-MA4_SIZE; k++){
an_x[k]=( an_x[k]+an_x[k+1]+ an_x[k+2]+ an_x[k+3])/(int32_t)4;
an_y[k]=( an_y[k]+an_y[k+1]+ an_y[k+2]+ an_y[k+3])/(int32_t)4;
}
//using an_exact_ir_valley_locs , find ir-red DC andir-red AC for SPO2 calibration ratio
//finding AC/DC maximum of raw ir * red between two valley locations
n_ratio_average =0;
n_i_ratio_count =0;
for(k=0; k< 5; k++) an_ratio[k]=0;
for (k=0; k< n_exact_ir_valley_locs_count; k++){
if (an_exact_ir_valley_locs[k] > BUFFER_SIZE ){
*pn_spo2 = -999 ; // do not use SPO2 since valley loc is out of range
*pch_spo2_valid = 0;
return;
}
}
// find max between two valley locations
// and use ratio betwen AC compoent of Ir & Red and DC compoent of Ir & Red for SPO2
for (k=0; k< n_exact_ir_valley_locs_count-1; k++){
n_y_dc_max= -16777216 ;
n_x_dc_max= - 16777216;
if (an_exact_ir_valley_locs[k+1]-an_exact_ir_valley_locs[k] >10){
for (i=an_exact_ir_valley_locs[k]; i< an_exact_ir_valley_locs[k+1]; i++){
if (an_x[i]> n_x_dc_max) {n_x_dc_max =an_x[i];n_x_dc_max_idx =i; }
if (an_y[i]> n_y_dc_max) {n_y_dc_max =an_y[i];n_y_dc_max_idx=i;}
}
n_y_ac= (an_y[an_exact_ir_valley_locs[k+1]] - an_y[an_exact_ir_valley_locs[k] ] )*(n_y_dc_max_idx -an_exact_ir_valley_locs[k]); //red
n_y_ac= an_y[an_exact_ir_valley_locs[k]] + n_y_ac/ (an_exact_ir_valley_locs[k+1] - an_exact_ir_valley_locs[k]) ;
n_y_ac= an_y[n_y_dc_max_idx] - n_y_ac; // subracting linear DC compoenents from raw
n_x_ac= (an_x[an_exact_ir_valley_locs[k+1]] - an_x[an_exact_ir_valley_locs[k] ] )*(n_x_dc_max_idx -an_exact_ir_valley_locs[k]); // ir
n_x_ac= an_x[an_exact_ir_valley_locs[k]] + n_x_ac/ (an_exact_ir_valley_locs[k+1] - an_exact_ir_valley_locs[k]);
n_x_ac= an_x[n_y_dc_max_idx] - n_x_ac; // subracting linear DC compoenents from raw
n_nume=( n_y_ac *n_x_dc_max)>>7 ; //prepare X100 to preserve floating value
n_denom= ( n_x_ac *n_y_dc_max)>>7;
if (n_denom>0 && n_i_ratio_count <5 && n_nume != 0)
{
an_ratio[n_i_ratio_count]= (n_nume*20)/n_denom ; //formular is ( n_y_ac *n_x_dc_max) / ( n_x_ac *n_y_dc_max) ; ///*************************n_numeԭ<65><D4AD><EFBFBD><EFBFBD>*100************************//
n_i_ratio_count++;
}
}
}
maxim_sort_ascend(an_ratio, n_i_ratio_count);
n_middle_idx= n_i_ratio_count/2;
if (n_middle_idx >1)
n_ratio_average =( an_ratio[n_middle_idx-1] +an_ratio[n_middle_idx])/2; // use median
else
n_ratio_average = an_ratio[n_middle_idx ];
if( n_ratio_average>2 && n_ratio_average <184){
n_spo2_calc= uch_spo2_table[n_ratio_average] ;
*pn_spo2 = n_spo2_calc ;
*pch_spo2_valid = 1;// float_SPO2 = -45.060*n_ratio_average* n_ratio_average/10000 + 30.354 *n_ratio_average/100 + 94.845 ; // for comparison with table
}
else{
*pn_spo2 = -999 ; // do not use SPO2 since signal ratio is out of range
*pch_spo2_valid = 0;
}
}
void maxim_find_peaks(int32_t *pn_locs, int32_t *pn_npks, int32_t *pn_x, int32_t n_size, int32_t n_min_height, int32_t n_min_distance, int32_t n_max_num)
/**
* \brief Find peaks
* \par Details
* Find at most MAX_NUM peaks above MIN_HEIGHT separated by at least MIN_DISTANCE
*
* \retval None
*/
{
maxim_peaks_above_min_height( pn_locs, pn_npks, pn_x, n_size, n_min_height );
maxim_remove_close_peaks( pn_locs, pn_npks, pn_x, n_min_distance );
*pn_npks = min( *pn_npks, n_max_num );
}
void maxim_peaks_above_min_height(int32_t *pn_locs, int32_t *pn_npks, int32_t *pn_x, int32_t n_size, int32_t n_min_height)
/**
* \brief Find peaks above n_min_height
* \par Details
* Find all peaks above MIN_HEIGHT
*
* \retval None
*/
{
int32_t i = 1, n_width;
*pn_npks = 0;
while (i < n_size-1){
if (pn_x[i] > n_min_height && pn_x[i] > pn_x[i-1]){ // find left edge of potential peaks
n_width = 1;
while (i+n_width < n_size && pn_x[i] == pn_x[i+n_width]) // find flat peaks
n_width++;
if (pn_x[i] > pn_x[i+n_width] && (*pn_npks) < 15 ){ // find right edge of peaks
pn_locs[(*pn_npks)++] = i;
// for flat peaks, peak location is left edge
i += n_width+1;
}
else
i += n_width;
}
else
i++;
}
}
void maxim_remove_close_peaks(int32_t *pn_locs, int32_t *pn_npks, int32_t *pn_x, int32_t n_min_distance)
/**
* \brief Remove peaks
* \par Details
* Remove peaks separated by less than MIN_DISTANCE
*
* \retval None
*/
{
int32_t i, j, n_old_npks, n_dist;
/* Order peaks from large to small */
maxim_sort_indices_descend( pn_x, pn_locs, *pn_npks );
for ( i = -1; i < *pn_npks; i++ ){
n_old_npks = *pn_npks;
*pn_npks = i+1;
for ( j = i+1; j < n_old_npks; j++ ){
n_dist = pn_locs[j] - ( i == -1 ? -1 : pn_locs[i] ); // lag-zero peak of autocorr is at index -1
if ( n_dist > n_min_distance || n_dist < -n_min_distance )
pn_locs[(*pn_npks)++] = pn_locs[j];
}
}
// Resort indices longo ascending order
maxim_sort_ascend( pn_locs, *pn_npks );
}
void maxim_sort_ascend(int32_t *pn_x,int32_t n_size)
/**
* \brief Sort array
* \par Details
* Sort array in ascending order (insertion sort algorithm)
*
* \retval None
*/
{
int32_t i, j, n_temp;
for (i = 1; i < n_size; i++) {
n_temp = pn_x[i];
for (j = i; j > 0 && n_temp < pn_x[j-1]; j--)
pn_x[j] = pn_x[j-1];
pn_x[j] = n_temp;
}
}
void maxim_sort_indices_descend(int32_t *pn_x, int32_t *pn_indx, int32_t n_size)
/**
* \brief Sort indices
* \par Details
* Sort indices according to descending order (insertion sort algorithm)
*
* \retval None
*/
{
int32_t i, j, n_temp;
for (i = 1; i < n_size; i++) {
n_temp = pn_indx[i];
for (j = i; j > 0 && pn_x[n_temp] > pn_x[pn_indx[j-1]]; j--)
pn_indx[j] = pn_indx[j-1];
pn_indx[j] = n_temp;
}
}

View File

@ -0,0 +1,139 @@
#ifndef __MAX30102_H
#define __MAX30102_H
#include "stm32f10x.h"
#include "stdbool.h"
#include "sys.h"
/*****************<2A><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>******************
STM32
* <20>ļ<EFBFBD> : MAX30102<30><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>ļ<EFBFBD>
* <20>汾 : V1.0
* <20><><EFBFBD><EFBFBD> : 2024.8.18
* MCU : STM32F103C8T6
* <20>ӿ<EFBFBD> : <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* BILIBILI : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* CSDN : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD> : <09><><EFBFBD><EFBFBD>
**********************BEGIN***********************/
//==============================================MAX30102Ӳ<32><D3B2><EFBFBD>ӿ<EFBFBD>==================================================
#define MAX30102_IIC_CLK RCC_APB2Periph_GPIOB
#define MAX30102_IIC_PORT GPIOB
#define MAX30102_IIC_SCL_PIN GPIO_Pin_10
#define MAX30102_IIC_SDA_PIN GPIO_Pin_11
#define MAX30102_IIC_SCL PBout(10)
#define MAX30102_IIC_SDA PBout(11)
#define MAX30102_READ_SDA PBin(11) //<2F><><EFBFBD><EFBFBD>SDA
#define MAX30102_INT_CLK RCC_APB2Periph_GPIOB
#define MAX30102_INT_PORT GPIOA
#define MAX30102_INT_PIN GPIO_Pin_7
#define MAX30102_INT PAin(7)
//=============================================================================================================
////////////////////////////////////////////////////////////////////////////////
#define I2C_WR 0 /* д<><D0B4><EFBFBD><EFBFBD>bit */
#define I2C_RD 1 /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bit */
#define I2C_WRITE_ADDR 0xAE
#define I2C_READ_ADDR 0xAF
#define true 1
#define false 0
#define FS 100
#define BUFFER_SIZE (FS* 5)
#define HR_FIFO_SIZE 7
#define MA4_SIZE 4 // DO NOT CHANGE
#define HAMMING_SIZE 5// DO NOT CHANGE
#define min(x,y) ((x) < (y) ? (x) : (y))
#define max30102_WR_address 0xAE
#define I2C_WRITE_ADDR 0xAE
#define I2C_READ_ADDR 0xAF
//register addresses
#define REG_INTR_STATUS_1 0x00
#define REG_INTR_STATUS_2 0x01
#define REG_INTR_ENABLE_1 0x02
#define REG_INTR_ENABLE_2 0x03
#define REG_FIFO_WR_PTR 0x04
#define REG_OVF_COUNTER 0x05
#define REG_FIFO_RD_PTR 0x06
#define REG_FIFO_DATA 0x07
#define REG_FIFO_CONFIG 0x08
#define REG_MODE_CONFIG 0x09
#define REG_SPO2_CONFIG 0x0A
#define REG_LED1_PA 0x0C
#define REG_LED2_PA 0x0D
#define REG_PILOT_PA 0x10
#define REG_MULTI_LED_CTRL1 0x11
#define REG_MULTI_LED_CTRL2 0x12
#define REG_TEMP_INTR 0x1F
#define REG_TEMP_FRAC 0x20
#define REG_TEMP_CONFIG 0x21
#define REG_PROX_INT_THRESH 0x30
#define REG_REV_ID 0xFE
#define REG_PART_ID 0xFF
//IIC<49><43><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void MAX30102_IIC_Init(void); //<2F><>ʼ<EFBFBD><CABC>IIC<49><43>IO<49><4F>
void MAX30102_IIC_Start(void); //<2F><><EFBFBD><EFBFBD>IIC<49><43>ʼ<EFBFBD>ź<EFBFBD>
void MAX30102_IIC_Stop(void); //<2F><><EFBFBD><EFBFBD>IICֹͣ<CDA3>ź<EFBFBD>
void MAX30102_IIC_Send_Byte(u8 txd); //IIC<49><43><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
u8 MAX30102_IIC_Read_Byte(unsigned char ack);//IIC<49><43>ȡһ<C8A1><D2BB><EFBFBD>ֽ<EFBFBD>
u8 MAX30102_IIC_Wait_Ack(void); //IIC<49>ȴ<EFBFBD>ACK<43>ź<EFBFBD>
void MAX30102_IIC_Ack(void); //IIC<49><43><EFBFBD><EFBFBD>ACK<43>ź<EFBFBD>
void MAX30102_IIC_NAck(void); //IIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK<43>ź<EFBFBD>
void MAX30102_IIC_Write_One_Byte(u8 daddr,u8 addr,u8 data);
void MAX30102_IIC_Read_One_Byte(u8 daddr,u8 addr,u8* data);
void MAX30102_IIC_WriteBytes(u8 WriteAddr,u8* data,u8 dataLength);
void MAX30102_IIC_ReadBytes(u8 deviceAddr, u8 writeAddr,u8* data,u8 dataLength);
//MAX30102<30><32><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void MAX30102_Init(void);
void MAX30102_Reset(void);
u8 M30102_Bus_Write(u8 Register_Address, u8 Word_Data);
u8 max30102_Bus_Read(u8 Register_Address);
void max30102_FIFO_ReadWords(u8 Register_Address,u16 Word_Data[][2],u8 count);
void max30102_FIFO_ReadBytes(u8 Register_Address,u8* Data);
void maxim_max30102_write_reg(uint8_t uch_addr, uint8_t uch_data);
void maxim_max30102_read_reg(uint8_t uch_addr, uint8_t *puch_data);
void maxim_max30102_read_fifo(uint32_t *pun_red_led, uint32_t *pun_ir_led);
//<2F><><EFBFBD><EFBFBD>Ѫ<EFBFBD><D1AA><EFBFBD><EFBFBD><E3B7A8><EFBFBD>к<EFBFBD><D0BA><EFBFBD>
void maxim_heart_rate_and_oxygen_saturation(uint32_t *pun_ir_buffer , int32_t n_ir_buffer_length, uint32_t *pun_red_buffer , int32_t *pn_spo2, int8_t *pch_spo2_valid , int32_t *pn_heart_rate , int8_t *pch_hr_valid);
void maxim_find_peaks( int32_t *pn_locs, int32_t *pn_npks, int32_t *pn_x, int32_t n_size, int32_t n_min_height, int32_t n_min_distance, int32_t n_max_num );
void maxim_peaks_above_min_height( int32_t *pn_locs, int32_t *pn_npks, int32_t *pn_x, int32_t n_size, int32_t n_min_height );
void maxim_remove_close_peaks( int32_t *pn_locs, int32_t *pn_npks, int32_t *pn_x, int32_t n_min_distance );
void maxim_sort_ascend( int32_t *pn_x, int32_t n_size );
void maxim_sort_indices_descend( int32_t *pn_x, int32_t *pn_indx, int32_t n_size);
#endif

View File

@ -0,0 +1,151 @@
#ifndef __BMP_H
#define __BMP_H
unsigned char BMP1[] =
{
0x00,0x03,0x05,0x09,0x11,0xFF,0x11,0x89,0x05,0xC3,0x00,0xE0,0x00,0xF0,0x00,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x28,0xFF,0x11,0xAA,0x44,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x01,0x38,0x44,0x82,0x92,
0x92,0x74,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x44,0xFF,0x01,0x7D,
0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x7D,0x01,0xFF,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,
0xF3,0x13,0x11,0x11,0x11,0x11,0x11,0x11,0x01,0xF1,0x11,0x61,0x81,0x01,0x01,0x01,
0x81,0x61,0x11,0xF1,0x01,0x01,0x01,0x01,0x41,0x41,0xF1,0x01,0x01,0x01,0x01,0x01,
0xC1,0x21,0x11,0x11,0x11,0x11,0x21,0xC1,0x01,0x01,0x01,0x01,0x41,0x41,0xF1,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x11,0x11,0x11,0x11,0x11,0xD3,0x33,
0x03,0x03,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,
0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x7F,0x00,0x00,0x01,0x06,0x18,0x06,
0x01,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x00,0x00,0x00,
0x1F,0x20,0x40,0x40,0x40,0x40,0x20,0x1F,0x00,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,
0x40,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x40,0x30,0x0C,0x03,0x00,0x00,
0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x06,0x06,
0x06,0x06,0x04,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,0x04,0x84,0x44,0x44,0x44,
0x84,0x04,0x04,0x04,0x84,0xC4,0x04,0x04,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,
0x04,0x04,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,0x04,0x04,0x04,0x04,0x84,0x44,
0x44,0x44,0x84,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,0x04,0x04,0x04,0x06,0x06,
0x06,0x06,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x18,0x14,0x12,0x11,0x00,0x00,0x0F,0x10,0x10,0x10,
0x0F,0x00,0x00,0x00,0x10,0x1F,0x10,0x00,0x00,0x00,0x08,0x10,0x12,0x12,0x0D,0x00,
0x00,0x18,0x00,0x00,0x0D,0x12,0x12,0x12,0x0D,0x00,0x00,0x18,0x00,0x00,0x10,0x18,
0x14,0x12,0x11,0x00,0x00,0x10,0x18,0x14,0x12,0x11,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,0x00,0x00,0x38,0x54,0x54,0x58,0x00,0x00,
0x7C,0x04,0x04,0x78,0x00,0x00,0x3C,0x40,0x40,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xAA,0xAA,0xAA,
0x28,0x08,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,
0x00,0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00,0x7F,0x02,0x04,0x08,0x10,0x7F,0x00,/********************************/
};
unsigned char BMP2[] =
{
0x00,0x03,0x05,0x09,0x11,0xFF,0x11,0x89,0x05,0xC3,0x00,0xE0,0x00,0xF0,0x00,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x28,0xFF,0x11,0xAA,0x44,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x01,0x38,0x44,0x82,0x92,
0x92,0x74,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x44,0xFF,0x01,0x7D,
0x7D,0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x01,0xFF,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0xF8,0x18,0x60,0x80,0x00,0x00,0x00,0x80,
0x60,0x18,0xF8,0x00,0x00,0x00,0x20,0x20,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,
0x10,0x08,0x08,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x20,0x20,0xF8,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x88,0x68,
0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,
0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x7F,0x00,0x00,0x01,0x06,0x18,0x06,0x01,
0x00,0x00,0x7F,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x00,0x00,0x00,0x00,0x1F,
0x20,0x40,0x40,0x40,0x40,0x20,0x1F,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x00,
0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x06,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x20,0x20,0xC0,0x00,0x00,0xE0,0x20,0x20,0x20,
0xE0,0x00,0x00,0x00,0x40,0xE0,0x00,0x00,0x00,0x00,0x60,0x20,0x20,0x20,0xE0,0x00,
0x00,0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0xE0,0x00,0x00,0x00,0x00,0x00,0x40,0x20,
0x20,0x20,0xC0,0x00,0x00,0x40,0x20,0x20,0x20,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0C,0x0A,0x0A,0x09,0x0C,0x00,0x00,0x0F,0x08,0x08,0x08,
0x0F,0x00,0x00,0x00,0x08,0x0F,0x08,0x00,0x00,0x00,0x0C,0x08,0x09,0x09,0x0E,0x00,
0x00,0x0C,0x00,0x00,0x0F,0x09,0x09,0x09,0x0F,0x00,0x00,0x0C,0x00,0x00,0x0C,0x0A,
0x0A,0x09,0x0C,0x00,0x00,0x0C,0x0A,0x0A,0x09,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,0x00,0x00,0x38,0x54,0x54,0x58,0x00,0x00,
0x7C,0x04,0x04,0x78,0x00,0x00,0x3C,0x40,0x40,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xAA,0xAA,0xAA,
0x28,0x08,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,
0x00,0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00,0x7F,0x02,0x04,0x08,0x10,0x7F,0x00,/***************************************/
};
unsigned char BMP3[] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x18,0x0C,0x06,0x03,0x0C,0xF8,0x00,0x00,0x10,0x1C,0x1F,0x08,0x0C,0x04,0x04,0x04,0x06,0x02,0x1A,0xF2,0x82,0x82,0x82,0x82,0x42,0x62,0x32,0x1E,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x7F,0x00,0x00,0x00,0x00,0x10,0x10,0x30,0x20,0x20,0x20,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x38,0xE0,0x80,0x00,0x00,0x00,0x3C,0xE0,0x00,0x00,0x00,0x0C,0xF0,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x06,0x0C,0x78,0xC8,0x0C,0x44,0xFF,0x44,0x74,0xE4,0x26,0x22,0x22,0x03,0x01,0x81,0xE0,0x3F,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0xC0,0x70,0x1C,0x1F,0x70,0xC0,0x00,0x00,0x03,0xFE,0x00,0x02,0x0E,0x18,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x20,0x20,0x20,0x27,0x20,0x30,0x10,0xFE,0x00,0x00,0x00,0x00,0x98,0xAC,0xE7,0xC1,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x10,0x30,0x20,0x20,0x30,0x10,0x10,0x10,0x18,0x08,0x08,0xFF,0x04,0x04,0x04,0x04,0xFF,0x06,0x02,0x82,0xE2,0x3F,0x01,0x01,0x01,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0E,0x0B,0x01,0xC4,0x74,0x1F,0x1A,0x72,0xC3,0x06,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x0C,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x63,0x66,0x3C,0x1C,0x37,0x61,0xC0,0x81,0x05,0x1D,0x31,0x60,0xC0,0x00,0x01,0xFF,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x70,0x3F,0x30,0x10,0x10,0x17,0x11,0x12,0x11,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x13,0x1E,0x18,0x10,0x10,0x10,0x08,0x08,0x0C,0x06,0x07,0x09,0x38,0xE0,0x00,0x00,0x01,0x1B,0xF2,0x06,0x04,0x04,0x0C,0x08,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x02,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"δ<><CEB4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>",0*/
};
#endif

View File

@ -0,0 +1,514 @@
#include "oled.h"
#include "stdlib.h"
#include "oledfont.h"
#include "delay.h"
/*****************<2A><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>******************
STM32
* <20>ļ<EFBFBD> : OLED<45><44>ʾ<EFBFBD><CABE>c<EFBFBD>ļ<EFBFBD>
* <20>汾 : V1.0
* <20><><EFBFBD><EFBFBD> : 2024.8.7
* MCU : STM32F103C8T6
* <20>ӿ<EFBFBD> : <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* BILIBILI : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* CSDN : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD> : <09><><EFBFBD><EFBFBD>
**********************BEGIN***********************/
u8 OLED_GRAM[144][8];
//<2F><><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>
void OLED_ColorTurn(u8 i)
{
if(i==0)
{
OLED_WR_Byte(0xA6,OLED_CMD);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
}
if(i==1)
{
OLED_WR_Byte(0xA7,OLED_CMD);//<2F><>ɫ<EFBFBD><C9AB>ʾ
}
}
//<2F><>Ļ<EFBFBD><C4BB>ת180<38><30>
void OLED_DisplayTurn(u8 i)
{
if(i==0)
{
OLED_WR_Byte(0xC8,OLED_CMD);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
OLED_WR_Byte(0xA1,OLED_CMD);
}
if(i==1)
{
OLED_WR_Byte(0xC0,OLED_CMD);//<2F><>ת<EFBFBD><D7AA>ʾ
OLED_WR_Byte(0xA0,OLED_CMD);
}
}
//<2F><>ʱ
void IIC_delay(void)
{
u8 t=3;
while(t--);
}
//<2F><>ʼ<EFBFBD>ź<EFBFBD>
void OLED_I2C_Start(void)
{
OLED_SDA_Set();
OLED_SCL_Set();
IIC_delay();
OLED_SDA_Clr();
IIC_delay();
OLED_SCL_Clr();
IIC_delay();
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
void OLED_I2C_Stop(void)
{
OLED_SDA_Clr();
OLED_SCL_Set();
IIC_delay();
OLED_SDA_Set();
}
//<2F>ȴ<EFBFBD><C8B4>ź<EFBFBD><C5BA><EFBFBD>Ӧ
void OLED_I2C_WaitAck(void) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źŵĵ<C5B5>ƽ
{
OLED_SDA_Set();
IIC_delay();
OLED_SCL_Set();
IIC_delay();
OLED_SCL_Clr();
IIC_delay();
}
//д<><D0B4>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
void OLED_Send_Byte(u8 dat)
{
u8 i;
for(i=0;i<8;i++)
{
if(dat&0x80)//<2F><>dat<61><74><38><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
{
OLED_SDA_Set();
}
else
{
OLED_SDA_Clr();
}
IIC_delay();
OLED_SCL_Set();
IIC_delay();
OLED_SCL_Clr();//<2F><>ʱ<EFBFBD><CAB1><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>͵<EFBFBD>ƽ
dat<<=1;
}
}
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
//mode:<3A><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ 0,<2C><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>;1,<2C><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>;
void OLED_WR_Byte(u8 dat,u8 mode)
{
OLED_I2C_Start();
OLED_Send_Byte(0x78);
OLED_I2C_WaitAck();
if(mode){OLED_Send_Byte(0x40);}
else{OLED_Send_Byte(0x00);}
OLED_I2C_WaitAck();
OLED_Send_Byte(dat);
OLED_I2C_WaitAck();
OLED_I2C_Stop();
}
//<2F><><EFBFBD><EFBFBD>OLED<45><44>ʾ
void OLED_DisPlay_On(void)
{
OLED_WR_Byte(0x8D,OLED_CMD);//<2F><><EFBFBD>ɱ<EFBFBD>ʹ<EFBFBD><CAB9>
OLED_WR_Byte(0x14,OLED_CMD);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>
OLED_WR_Byte(0xAF,OLED_CMD);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ
}
//<2F>ر<EFBFBD>OLED<45><44>ʾ
void OLED_DisPlay_Off(void)
{
OLED_WR_Byte(0x8D,OLED_CMD);//<2F><><EFBFBD>ɱ<EFBFBD>ʹ<EFBFBD><CAB9>
OLED_WR_Byte(0x10,OLED_CMD);//<2F>رյ<D8B1><D5B5>ɱ<EFBFBD>
OLED_WR_Byte(0xAE,OLED_CMD);//<2F>ر<EFBFBD><D8B1><EFBFBD>Ļ
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>Դ浽OLED
void OLED_Refresh(void)
{
u8 i,n;
for(i=0;i<8;i++)
{
OLED_WR_Byte(0xb0+i,OLED_CMD); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
OLED_WR_Byte(0x00,OLED_CMD); //<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
OLED_WR_Byte(0x10,OLED_CMD); //<2F><><EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
OLED_I2C_Start();
OLED_Send_Byte(0x78);
OLED_I2C_WaitAck();
OLED_Send_Byte(0x40);
OLED_I2C_WaitAck();
for(n=0;n<128;n++)
{
OLED_Send_Byte(OLED_GRAM[n][i]);
OLED_I2C_WaitAck();
}
OLED_I2C_Stop();
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void OLED_Clear(void)
{
u8 i,n;
for(i=0;i<8;i++)
{
for(n=0;n<128;n++)
{
OLED_GRAM[n][i]=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
OLED_Refresh();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
}
//<2F><><EFBFBD><EFBFBD>
//x:0~127
//y:0~63
//t:1 <20><><EFBFBD><EFBFBD> 0,<2C><><EFBFBD><EFBFBD>
void OLED_DrawPoint(u8 x,u8 y,u8 t)
{
u8 i,m,n;
i=y/8;
m=y%8;
n=1<<m;
if(t){OLED_GRAM[x][i]|=n;}
else
{
OLED_GRAM[x][i]=~OLED_GRAM[x][i];
OLED_GRAM[x][i]|=n;
OLED_GRAM[x][i]=~OLED_GRAM[x][i];
}
// OLED_Refresh();
}
//<2F><><EFBFBD><EFBFBD>
//x1,y1:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//x2,y2:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void OLED_DrawLine(u8 x1,u8 y1,u8 x2,u8 y2,u8 mode)
{
u16 t;
int xerr=0,yerr=0,delta_x,delta_y,distance;
int incx,incy,uRow,uCol;
delta_x=x2-x1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
delta_y=y2-y1;
uRow=x1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uCol=y1;
if(delta_x>0)incx=1; //<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if (delta_x==0)incx=0;//<2F><>ֱ<EFBFBD><D6B1>
else {incx=-1;delta_x=-delta_x;}
if(delta_y>0)incy=1;
else if (delta_y==0)incy=0;//ˮƽ<CBAE><C6BD>
else {incy=-1;delta_y=-delta_x;}
if(delta_x>delta_y)distance=delta_x; //ѡȡ<D1A1><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else distance=delta_y;
for(t=0;t<distance+1;t++)
{
OLED_DrawPoint(uRow,uCol,mode);//<2F><><EFBFBD><EFBFBD>
xerr+=delta_x;
yerr+=delta_y;
if(xerr>distance)
{
xerr-=distance;
uRow+=incx;
}
if(yerr>distance)
{
yerr-=distance;
uCol+=incy;
}
}
// OLED_Refresh();
}
//x,y:Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//r:Բ<>İ뾶
void OLED_DrawCircle(u8 x,u8 y,u8 r)
{
int a, b,num;
a = 0;
b = r;
while(2 * b * b >= r * r)
{
OLED_DrawPoint(x + a, y - b,1);
OLED_DrawPoint(x - a, y - b,1);
OLED_DrawPoint(x - a, y + b,1);
OLED_DrawPoint(x + a, y + b,1);
OLED_DrawPoint(x + b, y + a,1);
OLED_DrawPoint(x + b, y - a,1);
OLED_DrawPoint(x - b, y - a,1);
OLED_DrawPoint(x - b, y + a,1);
a++;
num = (a * a + b * b) - r*r;//<2F><><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>Բ<EFBFBD>ĵľ<C4B5><C4BE><EFBFBD>
if(num > 0)
{
b--;
a--;
}
}
// OLED_Refresh();
}
//<2F><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ַ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
//x:0~127
//y:0~63
//size1:ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6x8/6x12/8x16/12x24
//mode:0,<2C><>ɫ<EFBFBD><C9AB>ʾ;1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1,u8 mode)
{
u8 i,m,temp,size2,chr1;
u8 x0=x,y0=y;
if(size1==8)size2=6;
else size2=(size1/8+((size1%8)?1:0))*(size1/2); //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
chr1=chr-' '; //<2F><><EFBFBD><EFBFBD>ƫ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ֵ
for(i=0;i<size2;i++)
{
if(size1==8)
{temp=asc2_0806[chr1][i];} //<2F><><EFBFBD><EFBFBD>0806<30><36><EFBFBD><EFBFBD>
else if(size1==12)
{temp=asc2_1206[chr1][i];} //<2F><><EFBFBD><EFBFBD>1206<30><36><EFBFBD><EFBFBD>
else if(size1==16)
{temp=asc2_1608[chr1][i];} //<2F><><EFBFBD><EFBFBD>1608<30><38><EFBFBD><EFBFBD>
else if(size1==24)
{temp=asc2_2412[chr1][i];} //<2F><><EFBFBD><EFBFBD>2412<31><32><EFBFBD><EFBFBD>
else return;
for(m=0;m<8;m++)
{
if(temp&0x01)OLED_DrawPoint(x,y,mode);
else OLED_DrawPoint(x,y,!mode);
temp>>=1;
y++;
}
x++;
if((size1!=8)&&((x-x0)==size1/2))
{x=x0;y0=y0+8;}
y=y0;
}
OLED_Refresh();
}
//<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
//x,y:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//size1:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
//*chr:<3A>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
//mode:0,<2C><>ɫ<EFBFBD><C9AB>ʾ;1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1,u8 mode)
{
while((*chr>=' ')&&(*chr<='~'))//<2F>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2>ǷǷ<C7B7><C7B7>ַ<EFBFBD>!
{
OLED_ShowChar(x,y,*chr,size1,mode);
if(size1==8)x+=6;
else x+=size1/2;
chr++;
}
OLED_Refresh();
}
//m^n
u32 OLED_Pow(u8 m,u8 n)
{
u32 result=1;
while(n--)
{
result*=m;
}
return result;
}
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
//x,y :<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//num :Ҫ<><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//len :<3A><><EFBFBD>ֵ<EFBFBD>λ<EFBFBD><CEBB>
//size:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
//mode:0,<2C><>ɫ<EFBFBD><C9AB>ʾ;1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1,u8 mode)
{
u8 t,temp,m=0;
if(size1==8)m=2;
for(t=0;t<len;t++)
{
temp=(num/OLED_Pow(10,len-t-1))%10;
if(temp==0)
{
OLED_ShowChar(x+(size1/2+m)*t,y,'0',size1,mode);
}
else
{
OLED_ShowChar(x+(size1/2+m)*t,y,temp+'0',size1,mode);
}
}
OLED_Refresh();
}
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
//x,y:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//num:<3A><><EFBFBD>ֶ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//mode:0,<2C><>ɫ<EFBFBD><C9AB>ʾ;1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1,u8 mode)
{
u8 m,temp;
u8 x0=x,y0=y;
u16 i,size3=(size1/8+((size1%8)?1:0))*size1; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
for(i=0;i<size3;i++)
{
if(size1==16)
{temp=Hzk1[num][i];}//<2F><><EFBFBD><EFBFBD>16*16<31><36><EFBFBD><EFBFBD>
else if(size1==24)
{temp=Hzk2[num][i];}//<2F><><EFBFBD><EFBFBD>24*24<32><34><EFBFBD><EFBFBD>
else if(size1==32)
{temp=Hzk3[num][i];}//<2F><><EFBFBD><EFBFBD>32*32<33><32><EFBFBD><EFBFBD>
else if(size1==64)
{temp=Hzk4[num][i];}//<2F><><EFBFBD><EFBFBD>64*64<36><34><EFBFBD><EFBFBD>
else return;
for(m=0;m<8;m++)
{
if(temp&0x01)OLED_DrawPoint(x,y,mode);
else OLED_DrawPoint(x,y,!mode);
temp>>=1;
y++;
}
x++;
if((x-x0)==size1)
{x=x0;y0=y0+8;}
y=y0;
}
OLED_Refresh();
}
//num <20><>ʾ<EFBFBD><CABE><EFBFBD>ֵĸ<D6B5><C4B8><EFBFBD>
//space ÿһ<C3BF><D2BB><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
//mode:0,<2C><>ɫ<EFBFBD><C9AB>ʾ;1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
void OLED_ScrollDisplay(u8 num,u8 space,u8 mode)
{
u8 i,n,t=0,m=0,r;
while(1)
{
if(m==0)
{
OLED_ShowChinese(128,24,t,16,mode); //д<><D0B4>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>OLED_GRAM[][]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
t++;
}
if(t==num)
{
for(r=0;r<16*space;r++) //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
{
for(i=1;i<144;i++)
{
for(n=0;n<8;n++)
{
OLED_GRAM[i-1][n]=OLED_GRAM[i][n];
}
}
OLED_Refresh();
}
t=0;
}
m++;
if(m==16){m=0;}
for(i=1;i<144;i++) //ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
for(n=0;n<8;n++)
{
OLED_GRAM[i-1][n]=OLED_GRAM[i][n];
}
}
OLED_Refresh();
}
}
//x,y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//sizex,sizey,ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
//BMP[]<5D><>Ҫд<D2AA><D0B4><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
//mode:0,<2C><>ɫ<EFBFBD><C9AB>ʾ;1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
void OLED_ShowPicture(u8 x,u8 y,u8 sizex,u8 sizey,u8 BMP[],u8 mode)
{
u16 j=0;
u8 i,n,temp,m;
u8 x0=x,y0=y;
sizey=sizey/8+((sizey%8)?1:0);
for(n=0;n<sizey;n++)
{
for(i=0;i<sizex;i++)
{
temp=BMP[j];
j++;
for(m=0;m<8;m++)
{
if(temp&0x01)OLED_DrawPoint(x,y,mode);
else OLED_DrawPoint(x,y,!mode);
temp>>=1;
y++;
}
x++;
if((x-x0)==sizex)
{
x=x0;
y0=y0+8;
}
y=y0;
}
}
OLED_Refresh();
}
//OLED<45>ij<EFBFBD>ʼ<EFBFBD><CABC>
void OLED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(OLED_SCL_GPIO_CLK|OLED_SDA_GPIO_CLK, ENABLE); //ʹ<><CAB9>A<EFBFBD>˿<EFBFBD>ʱ<EFBFBD><CAB1>
GPIO_InitStructure.GPIO_Pin = OLED_SCL_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//<2F>ٶ<EFBFBD>50MHz
GPIO_Init(OLED_SCL_PORT, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>PA0,1
GPIO_SetBits(OLED_SCL_PORT,OLED_SCL_PIN);
GPIO_InitStructure.GPIO_Pin = OLED_SDA_PIN;
GPIO_Init(OLED_SDA_PORT, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>PA0,1
GPIO_SetBits(OLED_SDA_PORT,OLED_SDA_PIN);
delay_ms(200);
OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel
OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
OLED_WR_Byte(0x40,OLED_CMD);//--set start line address Set Mapping RAM Display Start Line (0x00~0x3F)
OLED_WR_Byte(0x81,OLED_CMD);//--set contrast control register
OLED_WR_Byte(0xCF,OLED_CMD);// Set SEG Output Current Brightness
OLED_WR_Byte(0xA1,OLED_CMD);//--Set SEG/Column Mapping 0xa0<61><30><EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD> 0xa1<61><31><EFBFBD><EFBFBD>
OLED_WR_Byte(0xC8,OLED_CMD);//Set COM/Row Scan Direction 0xc0<63><30><EFBFBD>·<EFBFBD><C2B7><EFBFBD> 0xc8<63><38><EFBFBD><EFBFBD>
OLED_WR_Byte(0xA6,OLED_CMD);//--set normal display
OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
OLED_WR_Byte(0x3f,OLED_CMD);//--1/64 duty
OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset Shift Mapping RAM Counter (0x00~0x3F)
OLED_WR_Byte(0x00,OLED_CMD);//-not offset
OLED_WR_Byte(0xd5,OLED_CMD);//--set display clock divide ratio/oscillator frequency
OLED_WR_Byte(0x80,OLED_CMD);//--set divide ratio, Set Clock as 100 Frames/Sec
OLED_WR_Byte(0xD9,OLED_CMD);//--set pre-charge period
OLED_WR_Byte(0xF1,OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
OLED_WR_Byte(0xDA,OLED_CMD);//--set com pins hardware configuration
OLED_WR_Byte(0x12,OLED_CMD);
OLED_WR_Byte(0xDB,OLED_CMD);//--set vcomh
OLED_WR_Byte(0x30,OLED_CMD);//Set VCOM Deselect Level
OLED_WR_Byte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)
OLED_WR_Byte(0x02,OLED_CMD);//
OLED_WR_Byte(0x8D,OLED_CMD);//--set Charge Pump enable/disable
OLED_WR_Byte(0x14,OLED_CMD);//--set(0x10) disable
OLED_Clear();
OLED_WR_Byte(0xAF,OLED_CMD);
}

View File

@ -0,0 +1,63 @@
#ifndef __OLED_H
#define __OLED_H
#include "sys.h"
#include "stdlib.h"
/*****************<2A><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>******************
STM32
* <20>ļ<EFBFBD> : OLED<45><44>ʾ<EFBFBD><CABE>h<EFBFBD>ļ<EFBFBD>
* <20>汾 : V1.0
* <20><><EFBFBD><EFBFBD> : 2024.8.7
* MCU : STM32F103C8T6
* <20>ӿ<EFBFBD> : <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* BILIBILI : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* CSDN : <09><><EFBFBD>絥Ƭ<E7B5A5><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD> : <09><><EFBFBD><EFBFBD>
**********************BEGIN***********************/
//----------------OLED<45>˿ڶ<CBBF><DAB6><EFBFBD>-----------------
/***************<2A><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>****************/
#define OLED_SCL_PORT GPIOB
#define OLED_SCL_PIN GPIO_Pin_8
#define OLED_SCL_GPIO_CLK RCC_APB2Periph_GPIOB
#define OLED_SDA_PORT GPIOB
#define OLED_SDA_PIN GPIO_Pin_9
#define OLED_SDA_GPIO_CLK RCC_APB2Periph_GPIOB
/*********************END**********************/
#define OLED_SCL_Clr() GPIO_ResetBits(OLED_SCL_PORT,OLED_SCL_PIN)//SCL
#define OLED_SCL_Set() GPIO_SetBits(OLED_SCL_PORT,OLED_SCL_PIN)
#define OLED_SDA_Clr() GPIO_ResetBits(OLED_SDA_PORT,OLED_SDA_PIN)//DIN
#define OLED_SDA_Set() GPIO_SetBits(OLED_SDA_PORT,OLED_SDA_PIN)
#define OLED_CMD 0 //д<><D0B4><EFBFBD><EFBFBD>
#define OLED_DATA 1 //д<><D0B4><EFBFBD><EFBFBD>
void OLED_ClearPoint(u8 x,u8 y);
void OLED_ColorTurn(u8 i);
void OLED_DisplayTurn(u8 i);
void OLED_I2C_Start(void);
void OLED_I2C_Stop(void);
void OLED_I2C_WaitAck(void);
void OLED_Send_Byte(u8 dat);
void OLED_WR_Byte(u8 dat,u8 mode);
void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_DrawLine(u8 x1,u8 y1,u8 x2,u8 y2,u8 mode);
void OLED_DrawCircle(u8 x,u8 y,u8 r);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1,u8 mode);
void OLED_ShowChar6x8(u8 x,u8 y,u8 chr,u8 mode);
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1,u8 mode);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1,u8 mode);
void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1,u8 mode);
void OLED_ScrollDisplay(u8 num,u8 space,u8 mode);
void OLED_ShowPicture(u8 x,u8 y,u8 sizex,u8 sizey,u8 BMP[],u8 mode);
void OLED_Init(void);
#endif

View File

@ -0,0 +1,422 @@
#ifndef __OLEDFONT_H
#define __OLEDFONT_H
const unsigned char asc2_0806[][6] =
{
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00},// sp
{0x00, 0x00, 0x00, 0x2f, 0x00, 0x00},// !
{0x00, 0x00, 0x07, 0x00, 0x07, 0x00},// "
{0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14},// #
{0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12},// $
{0x00, 0x62, 0x64, 0x08, 0x13, 0x23},// %
{0x00, 0x36, 0x49, 0x55, 0x22, 0x50},// &
{0x00, 0x00, 0x05, 0x03, 0x00, 0x00},// '
{0x00, 0x00, 0x1c, 0x22, 0x41, 0x00},// (
{0x00, 0x00, 0x41, 0x22, 0x1c, 0x00},// )
{0x00, 0x14, 0x08, 0x3E, 0x08, 0x14},// *
{0x00, 0x08, 0x08, 0x3E, 0x08, 0x08},// +
{0x00, 0x00, 0x00, 0xA0, 0x60, 0x00},// ,
{0x00, 0x08, 0x08, 0x08, 0x08, 0x08},// -
{0x00, 0x00, 0x60, 0x60, 0x00, 0x00},// .
{0x00, 0x20, 0x10, 0x08, 0x04, 0x02},// /
{0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E},// 0
{0x00, 0x00, 0x42, 0x7F, 0x40, 0x00},// 1
{0x00, 0x42, 0x61, 0x51, 0x49, 0x46},// 2
{0x00, 0x21, 0x41, 0x45, 0x4B, 0x31},// 3
{0x00, 0x18, 0x14, 0x12, 0x7F, 0x10},// 4
{0x00, 0x27, 0x45, 0x45, 0x45, 0x39},// 5
{0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30},// 6
{0x00, 0x01, 0x71, 0x09, 0x05, 0x03},// 7
{0x00, 0x36, 0x49, 0x49, 0x49, 0x36},// 8
{0x00, 0x06, 0x49, 0x49, 0x29, 0x1E},// 9
{0x00, 0x00, 0x36, 0x36, 0x00, 0x00},// :
{0x00, 0x00, 0x56, 0x36, 0x00, 0x00},// ;
{0x00, 0x08, 0x14, 0x22, 0x41, 0x00},// <
{0x00, 0x14, 0x14, 0x14, 0x14, 0x14},// =
{0x00, 0x00, 0x41, 0x22, 0x14, 0x08},// >
{0x00, 0x02, 0x01, 0x51, 0x09, 0x06},// ?
{0x00, 0x32, 0x49, 0x59, 0x51, 0x3E},// @
{0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C},// A
{0x00, 0x7F, 0x49, 0x49, 0x49, 0x36},// B
{0x00, 0x3E, 0x41, 0x41, 0x41, 0x22},// C
{0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C},// D
{0x00, 0x7F, 0x49, 0x49, 0x49, 0x41},// E
{0x00, 0x7F, 0x09, 0x09, 0x09, 0x01},// F
{0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A},// G
{0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F},// H
{0x00, 0x00, 0x41, 0x7F, 0x41, 0x00},// I
{0x00, 0x20, 0x40, 0x41, 0x3F, 0x01},// J
{0x00, 0x7F, 0x08, 0x14, 0x22, 0x41},// K
{0x00, 0x7F, 0x40, 0x40, 0x40, 0x40},// L
{0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F},// M
{0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F},// N
{0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E},// O
{0x00, 0x7F, 0x09, 0x09, 0x09, 0x06},// P
{0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E},// Q
{0x00, 0x7F, 0x09, 0x19, 0x29, 0x46},// R
{0x00, 0x46, 0x49, 0x49, 0x49, 0x31},// S
{0x00, 0x01, 0x01, 0x7F, 0x01, 0x01},// T
{0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F},// U
{0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F},// V
{0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F},// W
{0x00, 0x63, 0x14, 0x08, 0x14, 0x63},// X
{0x00, 0x07, 0x08, 0x70, 0x08, 0x07},// Y
{0x00, 0x61, 0x51, 0x49, 0x45, 0x43},// Z
{0x00, 0x00, 0x7F, 0x41, 0x41, 0x00},// [
{0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55},// 55
{0x00, 0x00, 0x41, 0x41, 0x7F, 0x00},// ]
{0x00, 0x04, 0x02, 0x01, 0x02, 0x04},// ^
{0x00, 0x40, 0x40, 0x40, 0x40, 0x40},// _
{0x00, 0x00, 0x01, 0x02, 0x04, 0x00},// '
{0x00, 0x20, 0x54, 0x54, 0x54, 0x78},// a
{0x00, 0x7F, 0x48, 0x44, 0x44, 0x38},// b
{0x00, 0x38, 0x44, 0x44, 0x44, 0x20},// c
{0x00, 0x38, 0x44, 0x44, 0x48, 0x7F},// d
{0x00, 0x38, 0x54, 0x54, 0x54, 0x18},// e
{0x00, 0x08, 0x7E, 0x09, 0x01, 0x02},// f
{0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C},// g
{0x00, 0x7F, 0x08, 0x04, 0x04, 0x78},// h
{0x00, 0x00, 0x44, 0x7D, 0x40, 0x00},// i
{0x00, 0x40, 0x80, 0x84, 0x7D, 0x00},// j
{0x00, 0x7F, 0x10, 0x28, 0x44, 0x00},// k
{0x00, 0x00, 0x41, 0x7F, 0x40, 0x00},// l
{0x00, 0x7C, 0x04, 0x18, 0x04, 0x78},// m
{0x00, 0x7C, 0x08, 0x04, 0x04, 0x78},// n
{0x00, 0x38, 0x44, 0x44, 0x44, 0x38},// o
{0x00, 0xFC, 0x24, 0x24, 0x24, 0x18},// p
{0x00, 0x18, 0x24, 0x24, 0x18, 0xFC},// q
{0x00, 0x7C, 0x08, 0x04, 0x04, 0x08},// r
{0x00, 0x48, 0x54, 0x54, 0x54, 0x20},// s
{0x00, 0x04, 0x3F, 0x44, 0x40, 0x20},// t
{0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C},// u
{0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C},// v
{0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C},// w
{0x00, 0x44, 0x28, 0x10, 0x28, 0x44},// x
{0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C},// y
{0x00, 0x44, 0x64, 0x54, 0x4C, 0x44},// z
{0x14, 0x14, 0x14, 0x14, 0x14, 0x14},// horiz lines
};
//12*12 ASCII<49>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const unsigned char asc2_1206[95][12]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00},/*"!",1*/
{0x00,0x0C,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x90,0xD0,0xBC,0xD0,0xBC,0x90,0x00,0x03,0x00,0x03,0x00,0x00},/*"#",3*/
{0x18,0x24,0xFE,0x44,0x8C,0x00,0x03,0x02,0x07,0x02,0x01,0x00},/*"$",4*/
{0x18,0x24,0xD8,0xB0,0x4C,0x80,0x00,0x03,0x00,0x01,0x02,0x01},/*"%",5*/
{0xC0,0x38,0xE4,0x38,0xE0,0x00,0x01,0x02,0x02,0x01,0x02,0x02},/*"&",6*/
{0x08,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x00,0x00,0x00,0xF8,0x04,0x02,0x00,0x00,0x00,0x01,0x02,0x04},/*"(",8*/
{0x00,0x02,0x04,0xF8,0x00,0x00,0x00,0x04,0x02,0x01,0x00,0x00},/*")",9*/
{0x90,0x60,0xF8,0x60,0x90,0x00,0x00,0x00,0x01,0x00,0x00,0x00},/*"*",10*/
{0x20,0x20,0xFC,0x20,0x20,0x00,0x00,0x00,0x01,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x06,0x00,0x00,0x00,0x00},/*",",12*/
{0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00},/*".",14*/
{0x00,0x80,0x60,0x1C,0x02,0x00,0x04,0x03,0x00,0x00,0x00,0x00},/*"/",15*/
{0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00},/*"0",16*/
{0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00},/*"1",17*/
{0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00},/*"2",18*/
{0x08,0x04,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00},/*"3",19*/
{0x40,0xB0,0x88,0xFC,0x80,0x00,0x00,0x00,0x00,0x03,0x02,0x00},/*"4",20*/
{0x3C,0x24,0x24,0x24,0xC4,0x00,0x01,0x02,0x02,0x02,0x01,0x00},/*"5",21*/
{0xF8,0x24,0x24,0x2C,0xC0,0x00,0x01,0x02,0x02,0x02,0x01,0x00},/*"6",22*/
{0x0C,0x04,0xE4,0x1C,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00},/*"7",23*/
{0xD8,0x24,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00},/*"8",24*/
{0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x03,0x02,0x02,0x01,0x00},/*"9",25*/
{0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00},/*":",26*/
{0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00},/*";",27*/
{0x00,0x20,0x50,0x88,0x04,0x02,0x00,0x00,0x00,0x00,0x01,0x02},/*"<",28*/
{0x90,0x90,0x90,0x90,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x02,0x04,0x88,0x50,0x20,0x00,0x02,0x01,0x00,0x00,0x00},/*">",30*/
{0x18,0x04,0xC4,0x24,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00},/*"?",31*/
{0xF8,0x04,0xE4,0x94,0xF8,0x00,0x01,0x02,0x02,0x02,0x02,0x00},/*"@",32*/
{0x00,0xE0,0x9C,0xF0,0x80,0x00,0x02,0x03,0x00,0x00,0x03,0x02},/*"A",33*/
{0x04,0xFC,0x24,0x24,0xD8,0x00,0x02,0x03,0x02,0x02,0x01,0x00},/*"B",34*/
{0xF8,0x04,0x04,0x04,0x0C,0x00,0x01,0x02,0x02,0x02,0x01,0x00},/*"C",35*/
{0x04,0xFC,0x04,0x04,0xF8,0x00,0x02,0x03,0x02,0x02,0x01,0x00},/*"D",36*/
{0x04,0xFC,0x24,0x74,0x0C,0x00,0x02,0x03,0x02,0x02,0x03,0x00},/*"E",37*/
{0x04,0xFC,0x24,0x74,0x0C,0x00,0x02,0x03,0x02,0x00,0x00,0x00},/*"F",38*/
{0xF0,0x08,0x04,0x44,0xCC,0x40,0x00,0x01,0x02,0x02,0x01,0x00},/*"G",39*/
{0x04,0xFC,0x20,0x20,0xFC,0x04,0x02,0x03,0x00,0x00,0x03,0x02},/*"H",40*/
{0x04,0x04,0xFC,0x04,0x04,0x00,0x02,0x02,0x03,0x02,0x02,0x00},/*"I",41*/
{0x00,0x04,0x04,0xFC,0x04,0x04,0x06,0x04,0x04,0x03,0x00,0x00},/*"J",42*/
{0x04,0xFC,0x24,0xD0,0x0C,0x04,0x02,0x03,0x02,0x00,0x03,0x02},/*"K",43*/
{0x04,0xFC,0x04,0x00,0x00,0x00,0x02,0x03,0x02,0x02,0x02,0x03},/*"L",44*/
{0xFC,0x3C,0xC0,0x3C,0xFC,0x00,0x03,0x00,0x03,0x00,0x03,0x00},/*"M",45*/
{0x04,0xFC,0x30,0xC4,0xFC,0x04,0x02,0x03,0x02,0x00,0x03,0x00},/*"N",46*/
{0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00},/*"O",47*/
{0x04,0xFC,0x24,0x24,0x18,0x00,0x02,0x03,0x02,0x00,0x00,0x00},/*"P",48*/
{0xF8,0x84,0x84,0x04,0xF8,0x00,0x01,0x02,0x02,0x07,0x05,0x00},/*"Q",49*/
{0x04,0xFC,0x24,0x64,0x98,0x00,0x02,0x03,0x02,0x00,0x03,0x02},/*"R",50*/
{0x18,0x24,0x24,0x44,0x8C,0x00,0x03,0x02,0x02,0x02,0x01,0x00},/*"S",51*/
{0x0C,0x04,0xFC,0x04,0x0C,0x00,0x00,0x02,0x03,0x02,0x00,0x00},/*"T",52*/
{0x04,0xFC,0x00,0x00,0xFC,0x04,0x00,0x01,0x02,0x02,0x01,0x00},/*"U",53*/
{0x04,0x7C,0x80,0xE0,0x1C,0x04,0x00,0x00,0x03,0x00,0x00,0x00},/*"V",54*/
{0x1C,0xE0,0x3C,0xE0,0x1C,0x00,0x00,0x03,0x00,0x03,0x00,0x00},/*"W",55*/
{0x04,0x9C,0x60,0x9C,0x04,0x00,0x02,0x03,0x00,0x03,0x02,0x00},/*"X",56*/
{0x04,0x1C,0xE0,0x1C,0x04,0x00,0x00,0x02,0x03,0x02,0x00,0x00},/*"Y",57*/
{0x0C,0x84,0x64,0x1C,0x04,0x00,0x02,0x03,0x02,0x02,0x03,0x00},/*"Z",58*/
{0x00,0x00,0xFE,0x02,0x02,0x00,0x00,0x00,0x07,0x04,0x04,0x00},/*"[",59*/
{0x00,0x0E,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00},/*"\",60*/
{0x00,0x02,0x02,0xFE,0x00,0x00,0x00,0x04,0x04,0x07,0x00,0x00},/*"]",61*/
{0x00,0x04,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08},/*"_",63*/
{0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x40,0xA0,0xA0,0xC0,0x00,0x00,0x01,0x02,0x02,0x03,0x02},/*"a",65*/
{0x04,0xFC,0x20,0x20,0xC0,0x00,0x00,0x03,0x02,0x02,0x01,0x00},/*"b",66*/
{0x00,0xC0,0x20,0x20,0x60,0x00,0x00,0x01,0x02,0x02,0x02,0x00},/*"c",67*/
{0x00,0xC0,0x20,0x24,0xFC,0x00,0x00,0x01,0x02,0x02,0x03,0x02},/*"d",68*/
{0x00,0xC0,0xA0,0xA0,0xC0,0x00,0x00,0x01,0x02,0x02,0x02,0x00},/*"e",69*/
{0x00,0x20,0xF8,0x24,0x24,0x04,0x00,0x02,0x03,0x02,0x02,0x00},/*"f",70*/
{0x00,0x40,0xA0,0xA0,0x60,0x20,0x00,0x07,0x0A,0x0A,0x0A,0x04},/*"g",71*/
{0x04,0xFC,0x20,0x20,0xC0,0x00,0x02,0x03,0x02,0x00,0x03,0x02},/*"h",72*/
{0x00,0x20,0xE4,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00},/*"i",73*/
{0x00,0x00,0x20,0xE4,0x00,0x00,0x08,0x08,0x08,0x07,0x00,0x00},/*"j",74*/
{0x04,0xFC,0x80,0xE0,0x20,0x20,0x02,0x03,0x02,0x00,0x03,0x02},/*"k",75*/
{0x04,0x04,0xFC,0x00,0x00,0x00,0x02,0x02,0x03,0x02,0x02,0x00},/*"l",76*/
{0xE0,0x20,0xE0,0x20,0xC0,0x00,0x03,0x00,0x03,0x00,0x03,0x00},/*"m",77*/
{0x20,0xE0,0x20,0x20,0xC0,0x00,0x02,0x03,0x02,0x00,0x03,0x02},/*"n",78*/
{0x00,0xC0,0x20,0x20,0xC0,0x00,0x00,0x01,0x02,0x02,0x01,0x00},/*"o",79*/
{0x20,0xE0,0x20,0x20,0xC0,0x00,0x08,0x0F,0x0A,0x02,0x01,0x00},/*"p",80*/
{0x00,0xC0,0x20,0x20,0xE0,0x00,0x00,0x01,0x02,0x0A,0x0F,0x08},/*"q",81*/
{0x20,0xE0,0x40,0x20,0x20,0x00,0x02,0x03,0x02,0x00,0x00,0x00},/*"r",82*/
{0x00,0x60,0xA0,0xA0,0x20,0x00,0x00,0x02,0x02,0x02,0x03,0x00},/*"s",83*/
{0x00,0x20,0xF8,0x20,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x00},/*"t",84*/
{0x20,0xE0,0x00,0x20,0xE0,0x00,0x00,0x01,0x02,0x02,0x03,0x02},/*"u",85*/
{0x20,0xE0,0x20,0x80,0x60,0x20,0x00,0x00,0x03,0x01,0x00,0x00},/*"v",86*/
{0x60,0x80,0xE0,0x80,0x60,0x00,0x00,0x03,0x00,0x03,0x00,0x00},/*"w",87*/
{0x20,0x60,0x80,0x60,0x20,0x00,0x02,0x03,0x00,0x03,0x02,0x00},/*"x",88*/
{0x20,0xE0,0x20,0x80,0x60,0x20,0x08,0x08,0x07,0x01,0x00,0x00},/*"y",89*/
{0x00,0x20,0xA0,0x60,0x20,0x00,0x00,0x02,0x03,0x02,0x02,0x00},/*"z",90*/
{0x00,0x00,0x20,0xDE,0x02,0x00,0x00,0x00,0x00,0x07,0x04,0x00},/*"{",91*/
{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00},/*"|",92*/
{0x00,0x02,0xDE,0x20,0x00,0x00,0x00,0x04,0x07,0x00,0x00,0x00},/*"}",93*/
{0x02,0x01,0x02,0x04,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
//16*16 ASCII<49>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const unsigned char asc2_1608[][16]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00},/*"!",1*/
{0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00},/*"#",3*/
{0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00},/*"$",4*/
{0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00},/*"%",5*/
{0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10},/*"&",6*/
{0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00},/*"(",8*/
{0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00},/*")",9*/
{0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00},/*"*",10*/
{0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00},/*".",14*/
{0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00},/*"/",15*/
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"0",16*/
{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"1",17*/
{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"2",18*/
{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},/*"3",19*/
{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},/*"4",20*/
{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},/*"5",21*/
{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},/*"6",22*/
{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},/*"7",23*/
{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},/*"8",24*/
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00},/*"9",25*/
{0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00},/*";",27*/
{0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00},/*"<",28*/
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"=",29*/
{0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00},/*">",30*/
{0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00},/*"?",31*/
{0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00},/*"@",32*/
{0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20},/*"A",33*/
{0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00},/*"B",34*/
{0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00},/*"C",35*/
{0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00},/*"D",36*/
{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00},/*"E",37*/
{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00},/*"F",38*/
{0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00},/*"G",39*/
{0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20},/*"H",40*/
{0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"I",41*/
{0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00},/*"J",42*/
{0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00},/*"K",43*/
{0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00},/*"L",44*/
{0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00},/*"M",45*/
{0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00},/*"N",46*/
{0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00},/*"O",47*/
{0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00},/*"P",48*/
{0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00},/*"Q",49*/
{0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20},/*"R",50*/
{0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00},/*"S",51*/
{0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00},/*"T",52*/
{0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00},/*"U",53*/
{0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00},/*"V",54*/
{0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00},/*"W",55*/
{0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20},/*"X",56*/
{0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00},/*"Y",57*/
{0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00},/*"Z",58*/
{0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00},/*"[",59*/
{0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00},/*"\",60*/
{0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00},/*"]",61*/
{0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},/*"_",63*/
{0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20},/*"a",65*/
{0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00},/*"b",66*/
{0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00},/*"c",67*/
{0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20},/*"d",68*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00},/*"e",69*/
{0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"f",70*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00},/*"g",71*/
{0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20},/*"h",72*/
{0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"i",73*/
{0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00},/*"j",74*/
{0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00},/*"k",75*/
{0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"l",76*/
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F},/*"m",77*/
{0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20},/*"n",78*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00},/*"o",79*/
{0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00},/*"p",80*/
{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80},/*"q",81*/
{0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00},/*"r",82*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00},/*"s",83*/
{0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00},/*"t",84*/
{0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20},/*"u",85*/
{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00},/*"v",86*/
{0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00},/*"w",87*/
{0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00},/*"x",88*/
{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00},/*"y",89*/
{0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00},/*"z",90*/
{0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40},/*"{",91*/
{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},/*"|",92*/
{0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00},/*"}",93*/
{0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
//24*24 ASICII<49>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const unsigned char asc2_2412[][36]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x7F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00},/*"!",1*/
{0x00,0x00,0x80,0x60,0x30,0x1C,0x8C,0x60,0x30,0x1C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x86,0xE6,0x9F,0x86,0x86,0x86,0x86,0xE6,0x9F,0x86,0x00,0x00,0x01,0x1F,0x01,0x01,0x01,0x01,0x01,0x1F,0x01,0x01,0x00},/*"#",3*/
{0x00,0x00,0x80,0xC0,0x60,0x20,0xF8,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x18,0xFF,0x70,0xE1,0x81,0x00,0x00,0x00,0x00,0x07,0x0F,0x10,0x10,0x7F,0x10,0x0F,0x07,0x00,0x00},/*"$",4*/
{0x80,0x60,0x20,0x60,0x80,0x00,0x00,0x00,0xE0,0x20,0x00,0x00,0x0F,0x30,0x20,0x30,0x9F,0x70,0xDC,0x37,0x10,0x30,0xC0,0x00,0x00,0x00,0x10,0x0E,0x03,0x00,0x07,0x18,0x10,0x18,0x07,0x00},/*"%",5*/
{0x00,0x00,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x1F,0x38,0xE8,0x87,0x03,0xC4,0x3C,0x04,0x00,0x00,0x07,0x0F,0x18,0x10,0x10,0x0B,0x07,0x0D,0x10,0x10,0x08,0x00},/*"&",6*/
{0x00,0x80,0x8C,0x4C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x30,0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x18,0x20,0x40,0x00},/*"(",8*/
{0x00,0x04,0x08,0x30,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/
{0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x66,0x66,0x3C,0x18,0xFF,0x18,0x3C,0x66,0x66,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00},/*"*",10*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x8C,0x4C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x0C,0x00,0x00,0x00,0x00,0x00,0x80,0x70,0x1C,0x03,0x00,0x00,0x00,0x00,0x00,0x60,0x38,0x0E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"/",15*/
{0x00,0x00,0x80,0xC0,0x60,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0xFE,0xFF,0x01,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x01,0x07,0x0E,0x18,0x10,0x10,0x18,0x0E,0x07,0x01,0x00},/*"0",16*/
{0x00,0x00,0x80,0x80,0x80,0xC0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10,0x00,0x00},/*"1",17*/
{0x00,0x80,0x40,0x20,0x20,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x03,0x03,0x00,0x80,0x40,0x20,0x38,0x1F,0x07,0x00,0x00,0x00,0x1C,0x1A,0x19,0x18,0x18,0x18,0x18,0x18,0x1F,0x00,0x00},/*"2",18*/
{0x00,0x80,0xC0,0x20,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x10,0x10,0x18,0x2F,0xE7,0x80,0x00,0x00,0x00,0x07,0x0F,0x10,0x10,0x10,0x10,0x18,0x0F,0x07,0x00,0x00},/*"3",19*/
{0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0x00,0x00,0x00,0x00,0xC0,0xB0,0x88,0x86,0x81,0x80,0xFF,0xFF,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x1F,0x10,0x10,0x00},/*"4",20*/
{0x00,0x00,0xE0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x3F,0x10,0x08,0x08,0x08,0x18,0xF0,0xE0,0x00,0x00,0x00,0x07,0x0B,0x10,0x10,0x10,0x10,0x1C,0x0F,0x03,0x00,0x00},/*"5",21*/
{0x00,0x00,0x80,0xC0,0x40,0x20,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0xFC,0xFF,0x21,0x10,0x08,0x08,0x08,0x18,0xF0,0xE0,0x00,0x00,0x01,0x07,0x0C,0x18,0x10,0x10,0x10,0x08,0x0F,0x03,0x00},/*"6",22*/
{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xE0,0x60,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xE0,0x18,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00},/*"7",23*/
{0x00,0x80,0xC0,0x60,0x20,0x20,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x87,0xEF,0x2C,0x18,0x18,0x30,0x30,0x68,0xCF,0x83,0x00,0x00,0x07,0x0F,0x08,0x10,0x10,0x10,0x10,0x18,0x0F,0x07,0x00},/*"8",24*/
{0x00,0x00,0xC0,0xC0,0x20,0x20,0x20,0x20,0xC0,0x80,0x00,0x00,0x00,0x1F,0x3F,0x60,0x40,0x40,0x40,0x20,0x10,0xFF,0xFE,0x00,0x00,0x00,0x0C,0x1C,0x10,0x10,0x10,0x08,0x0F,0x03,0x00,0x00},/*"9",25*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00},/*";",27*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x00,0x00,0x00,0x10,0x28,0x44,0x82,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x00},/*"<",28*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x00,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x82,0x44,0x28,0x10,0x00,0x00,0x00,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00},/*">",30*/
{0x00,0xC0,0x20,0x20,0x10,0x10,0x10,0x10,0x30,0xE0,0xC0,0x00,0x00,0x03,0x03,0x00,0x00,0xF0,0x10,0x08,0x0C,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00},/*"?",31*/
{0x00,0x00,0x00,0xC0,0x40,0x60,0x20,0x20,0x20,0x40,0xC0,0x00,0x00,0xFC,0xFF,0x01,0xF0,0x0E,0x03,0xC1,0xFE,0x03,0x80,0x7F,0x00,0x01,0x07,0x0E,0x08,0x11,0x11,0x10,0x11,0x09,0x04,0x02},/*"@",32*/
{0x00,0x00,0x00,0x00,0x80,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7C,0x43,0x40,0x47,0x7F,0xF8,0x80,0x00,0x00,0x10,0x18,0x1F,0x10,0x00,0x00,0x00,0x00,0x13,0x1F,0x1C,0x10},/*"A",33*/
{0x20,0xE0,0xE0,0x20,0x20,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0xFF,0xFF,0x10,0x10,0x10,0x10,0x18,0x2F,0xE7,0x80,0x00,0x10,0x1F,0x1F,0x10,0x10,0x10,0x10,0x10,0x18,0x0F,0x07,0x00},/*"B",34*/
{0x00,0x00,0x80,0xC0,0x40,0x20,0x20,0x20,0x20,0x60,0xE0,0x00,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x07,0x0E,0x18,0x10,0x10,0x10,0x08,0x04,0x03,0x00},/*"C",35*/
{0x20,0xE0,0xE0,0x20,0x20,0x20,0x20,0x40,0xC0,0x80,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,0x10,0x1F,0x1F,0x10,0x10,0x10,0x18,0x08,0x0E,0x07,0x01,0x00},/*"D",36*/
{0x20,0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0x80,0x00,0x00,0xFF,0xFF,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x06,0x00},/*"E",37*/
{0x20,0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0x60,0x60,0x80,0x00,0x00,0xFF,0xFF,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x01,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"F",38*/
{0x00,0x00,0x80,0xC0,0x60,0x20,0x20,0x20,0x40,0xE0,0x00,0x00,0x00,0xFC,0xFF,0x01,0x00,0x00,0x40,0x40,0xC0,0xC1,0x40,0x40,0x00,0x01,0x07,0x0E,0x18,0x10,0x10,0x10,0x0F,0x0F,0x00,0x00},/*"G",39*/
{0x20,0xE0,0xE0,0x20,0x00,0x00,0x00,0x00,0x20,0xE0,0xE0,0x20,0x00,0xFF,0xFF,0x10,0x10,0x10,0x10,0x10,0x10,0xFF,0xFF,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10},/*"H",40*/
{0x00,0x00,0x20,0x20,0x20,0xE0,0xE0,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10,0x00,0x00},/*"I",41*/
{0x00,0x00,0x00,0x00,0x20,0x20,0x20,0xE0,0xE0,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x60,0xE0,0x80,0x80,0x80,0xC0,0x7F,0x3F,0x00,0x00,0x00},/*"J",42*/
{0x20,0xE0,0xE0,0x20,0x00,0x00,0x20,0xA0,0x60,0x20,0x20,0x00,0x00,0xFF,0xFF,0x30,0x18,0x7C,0xE3,0xC0,0x00,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x01,0x13,0x1F,0x1C,0x18,0x10},/*"K",43*/
{0x20,0xE0,0xE0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x06,0x00},/*"L",44*/
{0x20,0xE0,0xE0,0xE0,0x00,0x00,0x00,0x00,0xE0,0xE0,0xE0,0x20,0x00,0xFF,0x01,0x3F,0xFE,0xC0,0xE0,0x1E,0x01,0xFF,0xFF,0x00,0x10,0x1F,0x10,0x00,0x03,0x1F,0x03,0x00,0x10,0x1F,0x1F,0x10},/*"M",45*/
{0x20,0xE0,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x20,0xE0,0x20,0x00,0xFF,0x00,0x03,0x07,0x1C,0x78,0xE0,0x80,0x00,0xFF,0x00,0x10,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x00},/*"N",46*/
{0x00,0x00,0x80,0xC0,0x60,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0xFE,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x01,0x07,0x0E,0x18,0x10,0x10,0x18,0x0C,0x07,0x01,0x00},/*"O",47*/
{0x20,0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x20,0x20,0x20,0x20,0x20,0x30,0x1F,0x0F,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"P",48*/
{0x00,0x00,0x80,0xC0,0x60,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0xFE,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x01,0x07,0x0E,0x11,0x11,0x13,0x3C,0x7C,0x67,0x21,0x00},/*"Q",49*/
{0x20,0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x10,0x10,0x30,0xF0,0xD0,0x08,0x0F,0x07,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x00,0x03,0x0F,0x1C,0x10,0x10},/*"R",50*/
{0x00,0x80,0xC0,0x60,0x20,0x20,0x20,0x20,0x40,0x40,0xE0,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x30,0x30,0x60,0xE0,0x81,0x00,0x00,0x1F,0x0C,0x08,0x10,0x10,0x10,0x10,0x18,0x0F,0x07,0x00},/*"S",51*/
{0x80,0x60,0x20,0x20,0x20,0xE0,0xE0,0x20,0x20,0x20,0x60,0x80,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x00,0x00},/*"T",52*/
{0x20,0xE0,0xE0,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0xE0,0x20,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x07,0x0F,0x18,0x10,0x10,0x10,0x10,0x10,0x08,0x07,0x00},/*"U",53*/
{0x20,0x60,0xE0,0xE0,0x20,0x00,0x00,0x00,0x20,0xE0,0x60,0x20,0x00,0x00,0x07,0x7F,0xF8,0x80,0x00,0x80,0x7C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x1C,0x07,0x00,0x00,0x00,0x00},/*"V",54*/
{0x20,0xE0,0xE0,0x20,0x00,0xE0,0xE0,0x20,0x00,0x20,0xE0,0x20,0x00,0x07,0xFF,0xF8,0xE0,0x1F,0xFF,0xFC,0xE0,0x1F,0x00,0x00,0x00,0x00,0x03,0x1F,0x03,0x00,0x01,0x1F,0x03,0x00,0x00,0x00},/*"W",55*/
{0x00,0x20,0x60,0xE0,0xA0,0x00,0x00,0x20,0xE0,0x60,0x20,0x00,0x00,0x00,0x00,0x03,0x8F,0x7C,0xF8,0xC6,0x01,0x00,0x00,0x00,0x00,0x10,0x18,0x1E,0x13,0x00,0x01,0x17,0x1F,0x18,0x10,0x00},/*"X",56*/
{0x20,0x60,0xE0,0xE0,0x20,0x00,0x00,0x00,0x20,0xE0,0x60,0x20,0x00,0x00,0x01,0x07,0x3E,0xF8,0xE0,0x18,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x1F,0x10,0x10,0x00,0x00,0x00},/*"Y",57*/
{0x00,0x80,0x60,0x20,0x20,0x20,0x20,0xA0,0xE0,0xE0,0x20,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3E,0x0F,0x03,0x00,0x00,0x00,0x00,0x10,0x1C,0x1F,0x17,0x10,0x10,0x10,0x10,0x18,0x06,0x00},/*"Z",58*/
{0x00,0x00,0x00,0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x40,0x40,0x00},/*"[",59*/
{0x00,0x00,0x10,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x1C,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x70,0x80,0x00},/*"\",60*/
{0x00,0x00,0x04,0x04,0x04,0x04,0x04,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,0x00},/*"]",61*/
{0x00,0x00,0x00,0x10,0x08,0x0C,0x04,0x0C,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},/*"_",63*/
{0x00,0x00,0x00,0x04,0x04,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0xD8,0x44,0x64,0x24,0x24,0xFC,0xF8,0x00,0x00,0x00,0x0F,0x1F,0x18,0x10,0x10,0x10,0x08,0x1F,0x1F,0x10,0x18},/*"a",65*/
{0x00,0x20,0xE0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x18,0x08,0x04,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x1F,0x0F,0x18,0x10,0x10,0x10,0x18,0x0F,0x03,0x00},/*"b",66*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0x18,0x04,0x04,0x04,0x3C,0x38,0x00,0x00,0x00,0x00,0x03,0x0F,0x0C,0x10,0x10,0x10,0x10,0x08,0x06,0x00,0x00},/*"c",67*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xE0,0xF0,0x00,0x00,0x00,0xE0,0xF8,0x1C,0x04,0x04,0x04,0x08,0xFF,0xFF,0x00,0x00,0x00,0x03,0x0F,0x18,0x10,0x10,0x10,0x08,0x1F,0x0F,0x08,0x00},/*"d",68*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0x48,0x44,0x44,0x44,0x4C,0x78,0x70,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x10,0x10,0x10,0x08,0x04,0x00},/*"e",69*/
{0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x20,0x20,0xE0,0xC0,0x00,0x00,0x04,0x04,0x04,0xFF,0xFF,0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10,0x00,0x00,0x00},/*"f",70*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xF8,0x8C,0x04,0x04,0x8C,0xF8,0x74,0x04,0x0C,0x00,0x70,0x76,0xCF,0x8D,0x8D,0x8D,0x89,0xC8,0x78,0x70,0x00},/*"g",71*/
{0x00,0x20,0xE0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x08,0x04,0x04,0x04,0xFC,0xF8,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x10,0x1F,0x1F,0x10,0x00},/*"h",72*/
{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10,0x00,0x00},/*"i",73*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x80,0x80,0xC0,0x7F,0x3F,0x00,0x00,0x00},/*"j",74*/
{0x00,0x20,0xE0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x80,0xC0,0xF4,0x1C,0x04,0x04,0x00,0x00,0x00,0x10,0x1F,0x1F,0x11,0x00,0x03,0x1F,0x1C,0x10,0x10,0x00},/*"k",75*/
{0x00,0x00,0x20,0x20,0x20,0xE0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10,0x00,0x00},/*"l",76*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0xFC,0x08,0x04,0xFC,0xFC,0x08,0x04,0xFC,0xFC,0x00,0x10,0x1F,0x1F,0x10,0x00,0x1F,0x1F,0x10,0x00,0x1F,0x1F,0x10},/*"m",77*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0xFC,0x08,0x08,0x04,0x04,0xFC,0xF8,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x10,0x1F,0x1F,0x10,0x00},/*"n",78*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF0,0x18,0x0C,0x04,0x04,0x0C,0x18,0xF0,0xE0,0x00,0x00,0x03,0x0F,0x0C,0x10,0x10,0x10,0x10,0x0C,0x0F,0x03,0x00},/*"o",79*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0xFC,0x08,0x04,0x04,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x80,0xFF,0xFF,0x88,0x90,0x10,0x10,0x1C,0x0F,0x03,0x00},/*"p",80*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0x1C,0x04,0x04,0x04,0x08,0xF8,0xFC,0x00,0x00,0x00,0x03,0x0F,0x18,0x10,0x10,0x90,0x88,0xFF,0xFF,0x80,0x00},/*"q",81*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x04,0xFC,0xFC,0x10,0x08,0x04,0x04,0x0C,0x0C,0x00,0x10,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10,0x00,0x00,0x00,0x00},/*"r",82*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x78,0xCC,0xC4,0x84,0x84,0x84,0x0C,0x1C,0x00,0x00,0x00,0x1E,0x18,0x10,0x10,0x10,0x11,0x19,0x0F,0x06,0x00},/*"s",83*/
{0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x04,0xFF,0xFF,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x10,0x10,0x10,0x0C,0x00,0x00},/*"t",84*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0xFE,0x00,0x00,0x00,0x04,0xFC,0xFE,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x10,0x10,0x08,0x1F,0x0F,0x08,0x00},/*"u",85*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x3C,0xFC,0xC4,0x00,0x00,0xC4,0x3C,0x0C,0x04,0x00,0x00,0x00,0x00,0x01,0x0F,0x1E,0x0E,0x01,0x00,0x00,0x00},/*"v",86*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x3C,0xFC,0xC4,0x00,0xE4,0x7C,0xFC,0x84,0x80,0x7C,0x04,0x00,0x00,0x07,0x1F,0x07,0x00,0x00,0x07,0x1F,0x07,0x00,0x00},/*"w",87*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x1C,0x7C,0xE4,0xC0,0x34,0x1C,0x04,0x04,0x00,0x00,0x10,0x10,0x1C,0x16,0x01,0x13,0x1F,0x1C,0x18,0x10,0x00},/*"x",88*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x3C,0xFC,0xC4,0x00,0xC4,0x3C,0x04,0x04,0x00,0x00,0x00,0xC0,0x80,0xC1,0x37,0x0E,0x01,0x00,0x00,0x00,0x00},/*"y",89*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x04,0x04,0xC4,0xF4,0x7C,0x1C,0x04,0x00,0x00,0x00,0x00,0x10,0x1C,0x1F,0x17,0x11,0x10,0x10,0x18,0x0E,0x00},/*"z",90*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x28,0xEF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x60,0x40,0x00,0x00},/*"{",91*/
{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},/*"|",92*/
{0x00,0x00,0x04,0x0C,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEF,0x28,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
{0x00,0x18,0x06,0x02,0x02,0x04,0x08,0x10,0x20,0x20,0x30,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
const unsigned char Hzk1[][32]={
{0x00,0x00,0x80,0x00,0x00,0xE0,0x02,0x04,0x18,0x00,0x00,0x00,0x40,0x80,0x00,0x00,0x10,0x0C,0x03,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x40,0x78,0x00,0x01,0x0E,0x00},/*"<22><>",0*/
{0x00,0x14,0xA4,0x44,0x24,0x34,0xAD,0x66,0x24,0x94,0x04,0x44,0xA4,0x14,0x00,0x00,0x08,0x09,0x08,0x08,0x09,0x09,0x09,0xFD,0x09,0x09,0x0B,0x08,0x08,0x09,0x08,0x00},/*"<22><>",1*/
{0x00,0x00,0xF8,0x08,0x08,0xF8,0x0C,0x0B,0x08,0xF8,0x08,0x08,0xF8,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x7F,0x40,0x40,0x00},/*"Ѫ",2*/
{0x08,0x24,0x23,0x6A,0xAA,0x2A,0xAA,0x6A,0x2A,0x2A,0x2A,0xEA,0x02,0x02,0x00,0x00,0x10,0x11,0x15,0x15,0x15,0xFF,0x15,0x15,0x15,0x11,0x10,0x0F,0x30,0x40,0xF8,0x00},/*"<22><>",3*/
};
const unsigned char Hzk2[][72]={
{0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFC,0x84,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"<22><>",0*/
};
const unsigned char Hzk3[][128]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFF,0xFF,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFF,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"<22><>",0*/
};
const unsigned char Hzk4[][512]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xF0,0xF0,0x70,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFE,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xFF,0xFF,0xFF,0xFF,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xFF,0xFF,0xFF,0xFF,0x07,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0xFF,0xFF,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"<22><>",0*/
};
#endif

View File

@ -0,0 +1,227 @@
#include "delay.h"
#include "usart2.h"
#include "stdarg.h"
#include "stdio.h"
#include "string.h"
#include "ble_cfg.h"
#include "ble_app.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2014/3/29
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD>ڷ<EFBFBD><DAB7>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
__align(16) u16 USART2_TX_BUF[USART2_MAX_SEND_LEN]; //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>,<2C><><EFBFBD><EFBFBD>USART2_MAX_SEND_LEN<45>ֽ<EFBFBD>
#ifdef USART2_RX_EN //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>
//<2F><><EFBFBD>ڽ<EFBFBD><DABD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
u8 USART2_RX_BUF[USART2_MAX_RECV_LEN]; //<2F><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>,<2C><><EFBFBD><EFBFBD>USART2_MAX_RECV_LEN<45><4E><EFBFBD>ֽ<EFBFBD>.
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3>£<EFBFBD> timer=10ms
//ͨ<><CDA8><EFBFBD>жϽ<D0B6><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD>ַ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EEB2BB><EFBFBD><EFBFBD>timer<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>timer,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D2B2><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>timerû<72>н<EFBFBD><D0BD>յ<EFBFBD>
//<2F>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ʾ<EFBFBD>˴ν<CBB4><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
//<2F><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
//[15]:0,û<>н<EFBFBD><D0BD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>;1,<2C><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
//[14:0]:<3A><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
u16 USART2_RX_STA = 0;
void USART2_IRQHandler(void)
{
u8 res;
if (USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) //<2F><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
{
res = USART_ReceiveData(USART2);
if ((USART2_RX_STA & (1 << 15)) == 0)
{
if (USART2_RX_STA < USART2_MAX_RECV_LEN) //<2F><><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
TIM_SetCounter(TIM4, 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (USART2_RX_STA == 0)TIM4_Set(1); //ʹ<>ܶ<EFBFBD>ʱ<EFBFBD><CAB1>4<EFBFBD><34><EFBFBD>ж<EFBFBD>
USART2_RX_BUF[USART2_RX_STA++] = res; //<2F><>¼<EFBFBD><C2BC><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>ֵ
}
else
{
USART2_RX_STA |= 1 << 15; //ǿ<>Ʊ<EFBFBD><C6B1>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
}
USART_InitTypeDef USART_InitStructure;
//<2F><>ʼ<EFBFBD><CABC>IO <20><><EFBFBD><EFBFBD>2
//pclk1:PCLK1ʱ<31><CAB1>Ƶ<EFBFBD><C6B5>(Mhz)
//bound:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void usart2_init(u32 bound)
{
NVIC_InitTypeDef NVIC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);// GPIOAʱ<41><CAB1>
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
USART_DeInit(USART2); //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>1
//USART2_TX PA.2
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //PA.2
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_Init(GPIOA, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>PA2
//USART2_RX PA.3
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //PA.3
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_Init(GPIOA, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>PA3
USART_InitStructure.USART_BaudRate = bound; //һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //<2F>ֳ<EFBFBD>Ϊ8λ<38><CEBB><EFBFBD>ݸ<EFBFBD>ʽ
USART_InitStructure.USART_StopBits = USART_StopBits_1; //һ<><D2BB>ֹͣλ
USART_InitStructure.USART_Parity = USART_Parity_No; //<2F><><EFBFBD><EFBFBD>żУ<C5BC><D0A3>λ
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//<2F><>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //<2F>շ<EFBFBD>ģʽ
USART_Init(USART2, &USART_InitStructure); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//USART2->BRR=(pclk1*1000000)/(bound);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//USART2->CR1|=0X200C; //1λֹͣ,<2C><>У<EFBFBD><D0A3>λ.
USART_DMACmd(USART2, USART_DMAReq_Tx, ENABLE); //ʹ<>ܴ<EFBFBD><DCB4><EFBFBD>2<EFBFBD><32>DMA<4D><41><EFBFBD><EFBFBD>
UART_DMA_Config(DMA1_Channel7, (u32)&USART2->DR, (u32)USART2_TX_BUF); //DMA1ͨ<31><CDA8>7,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>2,<2C><EFBFBD><E6B4A2>ΪUSART2_TX_BUF
USART_Cmd(USART2, ENABLE); //ʹ<>ܴ<EFBFBD><DCB4><EFBFBD>
#ifdef USART2_RX_EN //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>
//ʹ<>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD>ж<EFBFBD>
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2 ; //<2F><>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD>3
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //<2F><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQͨ<51><CDA8>ʹ<EFBFBD><CAB9>
NVIC_Init(&NVIC_InitStructure); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>VIC<49>Ĵ<EFBFBD><C4B4><EFBFBD>
TIM4_Init(99, 7199); //10ms<6D>ж<EFBFBD>
USART2_RX_STA = 0; //<2F><><EFBFBD><EFBFBD>
TIM4_Set(0); //<2F>رն<D8B1>ʱ<EFBFBD><CAB1>4
#endif
}
//<2F><><EFBFBD><EFBFBD>2,printf <20><><EFBFBD><EFBFBD>
//ȷ<><C8B7>һ<EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>USART2_MAX_SEND_LEN<45>ֽ<EFBFBD>
void u2_printf(char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vsprintf((char *)USART2_TX_BUF, fmt, ap);
va_end(ap);
while (DMA1_Channel7->CNDTR != 0); //<2F>ȴ<EFBFBD>ͨ<EFBFBD><CDA8>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UART_DMA_Enable(DMA1_Channel7, strlen((const char *)USART2_TX_BUF)); //ͨ<><CDA8>dma<6D><61><EFBFBD>ͳ<EFBFBD>ȥ
}
//<2F><>ʱ<EFBFBD><CAB1>4<EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void TIM4_IRQHandler(void)
{
if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET)//<2F>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD>ж<EFBFBD>
{
TIM_ClearITPendingBit(TIM4, TIM_IT_Update ); //<2F><><EFBFBD><EFBFBD>TIMx<4D><78><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־
USART2_RX_STA |= 1 << 15; //<2F><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TIM4_Set(0); //<2F>ر<EFBFBD>TIM4
}
}
//<2F><><EFBFBD><EFBFBD>TIM4<4D>Ŀ<EFBFBD><C4BF><EFBFBD>
//sta:0<><30><EFBFBD>ر<EFBFBD>;1,<2C><><EFBFBD><EFBFBD>;
void TIM4_Set(u8 sta)
{
if (sta)
{
TIM_SetCounter(TIM4, 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TIM_Cmd(TIM4, ENABLE); //ʹ<><CAB9>TIMx
}
else TIM_Cmd(TIM4, DISABLE); //<2F>رն<D8B1>ʱ<EFBFBD><CAB1>4
}
//<2F><><EFBFBD><EFBFBD>TIM4Ԥװ<D4A4><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
void TIM4_SetARR(u16 period)
{
TIM_SetCounter(TIM4, 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TIM4->ARR &= 0x00; //<2F><><EFBFBD><EFBFBD>Ԥװ<D4A4><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ0
TIM4->ARR |= period; //<2F><><EFBFBD><EFBFBD>Ԥװ<D4A4><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
}
//ͨ<>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>жϳ<D0B6>ʼ<EFBFBD><CABC>
//<2F><><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ѡ<EFBFBD><D1A1>ΪAPB1<42><31>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>APB1Ϊ36M
//arr<72><72><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>װֵ<D7B0><D6B5>
//psc<73><63>ʱ<EFBFBD><CAB1>Ԥ<EFBFBD><D4A4>Ƶ<EFBFBD><C6B5>
void TIM4_Init(u16 arr, u16 psc)
{
NVIC_InitTypeDef NVIC_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //ʱ<><CAB1>ʹ<EFBFBD><CAB9>//TIM4ʱ<34><CAB1>ʹ<EFBFBD><CAB9>
//<2F><>ʱ<EFBFBD><CAB1>TIM3<4D><33>ʼ<EFBFBD><CABC>
TIM_TimeBaseStructure.TIM_Period = arr; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EEB6AF><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>װ<EFBFBD>ؼĴ<D8BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ֵ
TIM_TimeBaseStructure.TIM_Prescaler = psc; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTIMxʱ<78><CAB1>Ƶ<EFBFBD>ʳ<EFBFBD><CAB3><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>Ƶֵ
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>ӷָ<D3B7>:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM<49><4D><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>ģʽ
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>TIMx<4D><78>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE ); //ʹ<><CAB9>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>TIM4<4D>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1 ; //<2F><>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD>3
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQͨ<51><CDA8>ʹ<EFBFBD><CAB9>
NVIC_Init(&NVIC_InitStructure); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>VIC<49>Ĵ<EFBFBD><C4B4><EFBFBD>
}
#endif
///////////////////////////////////////USART2 DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>//////////////////////////////////
//DMA1<41>ĸ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ǹ̶<C7B9><CCB6><EFBFBD>,<2C><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ݲ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
//<2F>Ӵ洢<D3B4><E6B4A2>-><3E><><EFBFBD><EFBFBD>ģʽ/8λ<38><CEBB><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>/<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
//DMA_CHx:DMAͨ<41><CDA8>CHx
//cpar:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
//cmar:<3A><EFBFBD><E6B4A2><EFBFBD><EFBFBD>ַ
void UART_DMA_Config(DMA_Channel_TypeDef *DMA_CHx, u32 cpar, u32 cmar)
{
DMA_InitTypeDef DMA_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //ʹ<><CAB9>DMA<4D><41><EFBFBD><EFBFBD>
DMA_DeInit(DMA_CHx); //<2F><>DMA<4D><41>ͨ<EFBFBD><CDA8>1<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊȱʡֵ
DMA_InitStructure.DMA_PeripheralBaseAddr = cpar; //DMA<4D><41><EFBFBD><EFBFBD>ADC<44><43><EFBFBD><EFBFBD>ַ
DMA_InitStructure.DMA_MemoryBaseAddr = cmar; //DMA<4D>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ַ
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>򣬴<EFBFBD><F2A3ACB4>ڴ<EFBFBD><DAB4><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>
DMA_InitStructure.DMA_BufferSize = 0; //DMAͨ<41><CDA8><EFBFBD><EFBFBD>DMA<4D><41><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; //<2F>ڴ<EFBFBD><DAB4><EFBFBD>ַ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>Ϊ8λ
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>Ϊ8λ
DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
DMA_InitStructure.DMA_Priority = DMA_Priority_Medium; //DMAͨ<41><CDA8><78><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; //DMAͨ<41><CDA8><78><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ڴ浽<DAB4>ڴ洫<DAB4><E6B4AB>
DMA_Init(DMA_CHx, &DMA_InitStructure); //<2F><><EFBFBD><EFBFBD>DMA_InitStruct<63><74>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>DMA<4D><41>ͨ<EFBFBD><CDA8>USART1_Tx_DMA_Channel<65><6C><EFBFBD><EFBFBD>ʶ<EFBFBD>ļĴ<C4BC><C4B4><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>DMA<4D><41><EFBFBD><EFBFBD>
void UART_DMA_Enable(DMA_Channel_TypeDef *DMA_CHx, u16 len)
{
DMA_Cmd(DMA_CHx, DISABLE ); //<2F>ر<EFBFBD> ָʾ<D6B8><CABE>ͨ<EFBFBD><CDA8>
DMA_SetCurrDataCounter(DMA_CHx, len); //DMAͨ<41><CDA8><EFBFBD><EFBFBD>DMA<4D><41><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
DMA_Cmd(DMA_CHx, ENABLE); //<2F><><EFBFBD><EFBFBD>DMA<4D><41><EFBFBD><EFBFBD>
}

View File

@ -0,0 +1,46 @@
#ifndef __USART2_H
#define __USART2_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
//<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2014/3/29
//<2F><EFBFBD><E6B1BE>V1.0
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾ 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
#define USART2_MAX_RECV_LEN 1024 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
#define USART2_MAX_SEND_LEN 512 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
#define USART2_RX_EN 1 //0,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;1,<2C><><EFBFBD><EFBFBD>.
extern u8 USART2_RX_BUF[USART2_MAX_RECV_LEN]; //<2F><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>,<2C><><EFBFBD><EFBFBD>USART2_MAX_RECV_LEN<45>ֽ<EFBFBD>
extern u16 USART2_TX_BUF[USART2_MAX_SEND_LEN]; //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>,<2C><><EFBFBD><EFBFBD>USART2_MAX_SEND_LEN<45>ֽ<EFBFBD>
extern u16 USART2_RX_STA; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
void usart2_init(u32 bound); //<2F><><EFBFBD><EFBFBD>2<EFBFBD><32>ʼ<EFBFBD><CABC>
void TIM4_Set(u8 sta);
void TIM4_SetARR(u16 period);
void TIM4_Init(u16 arr,u16 psc);
void UART_DMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar);
void UART_DMA_Enable(DMA_Channel_TypeDef*DMA_CHx,u16 len);
void u2_printf(char* fmt, ...);
#endif

View File

@ -0,0 +1,937 @@
:020000040800F2
:10000000780600207D0D00082D0300082F0300084E
:1000100033030008370300083B030008000000001A
:100020000000000000000000000000003F03000886
:1000300041030008000000004303000845030008D6
:10004000970D0008970D0008970D0008970D000800
:10005000970D0008970D0008970D0008970D0008F0
:10006000970D0008970D0008970D0008970D0008E0
:10007000970D0008970D0008970D0008970D0008D0
:10008000970D0008970D0008970D0008970D0008C0
:10009000970D0008970D0008970D0008970D0008B0
:1000A000970D0008970D0008970D0008970D0008A0
:1000B000450B0008970D0008970D0008970D0008E4
:1000C000970D0008970D0008970D0008970D000880
:1000D000970D0008970D0008A3060008970D00086B
:1000E000970D0008970D0008970D0008DFF80CD059
:1000F00002F08AFD00480047010100087806002050
:1001000086B001260027002500F06EFD4FF4A060A8
:1001100000F046FE4FF4E13000F0DFFD41F61F41F4
:1001200041F2873000F0E0FC00F0FEF94FF47A7005
:1001300000F097FD00F033FACCE0012F71D10020E0
:100140006549086065480078012816D17EB9644881
:10015000028864A101A802F007FE01A802F04DFB8D
:10016000C4B2214601A800F0B0FB064602E000F050
:10017000CCFB06460020594908700A2000F0E5FB38
:100180000546002DD8D05BA1284602F01AFB18B115
:100190000020594908609DE058A1284602F011FB53
:1001A00018B101205449086094E055A1284602F096
:1001B00008FB20B100205049091F08608AE051A1C6
:1001C000284602F0FEFA20B101204B49091F0860C1
:1001D00080E04DA1284602F0F4FA20B10020464903
:1001E0000839086076E049A1284602F0EAFA20B111
:1001F00001204149083908606CE045A1284602F019
:10020000E0FA20B100203C490C39086062E041A1CD
:10021000284602F0D6FA28B1012037490C39086087
:1002200058E050E03CA1284602F0CBFA60B1012032
:10023000314908603949C1F89C012F4908390860E3
:100240003649C1F8940145E035A1284602F0B9FAD3
:1002500060B10020284908603049C1F89C01264956
:10026000083908602D49C1F8940133E02DA12846D2
:1002700002F0A7FA30B300245421284602F0B3FA62
:100280000446641CA0783A281CD161782078303864
:1002900000EB800001EB40003038C0EB0010810023
:1002A000E078303800EB800001EB40002179084411
:1002B00030380B49088008460088002802DD0120FC
:1002C0001949087006E001200349086000F074FA3B
:1002D00000B9012731E70000B40122425400002098
:1002E0005600002048656172744F4B2020256864D9
:1002F0000D0A000051310000A08121424731000069
:1003000051320000473200005133000047330000F3
:1003100051340000473400004F464600008021421F
:100320004F4E00005400000055000020704700BFF1
:10033000FEE700BFFEE700BFFEE700BFFEE7704735
:1003400070477047704700000CB500200190009086
:100350006C48006840F480306A49086000BF694812
:10036000006800F4003000900198401C0190009853
:1003700018B90198B0F5A06FF1D16248006800F497
:10038000003010B10120009001E0002000900098A2
:10039000012843D15C48006840F010005A490860C9
:1003A0000846006820F0030008600846006840F036
:1003B0000200086053484068524948600846406857
:1003C00048600846406840F48060486008464068DD
:1003D00020F47C1048600846406840F4E81048600B
:1003E0000846006840F08070086000BF454800681B
:1003F00000F000700028F9D04248406820F0030067
:10040000404948600846406840F00200486000BF2C
:100410003C48406800F00C000828F9D10CBD10B52C
:10042000FFF792FF10BD10B53648006840F001009C
:1004300034490860084640683449084031494860FA
:1004400008460068324908402E490860084600689E
:1004500020F4802008600846406820F4FE004860D0
:100460004FF41F008860FFF7DAFF4FF00060294962
:10047000086010BD10B5002100200022214B5B68F0
:1004800003F00C0121B1042906D0082928D107E086
:10049000214B224C236027E01F4B204C236023E09C
:1004A000184B5B6803F47010164B5B6803F48032E2
:1004B000022303EB904022B9194B4343174C2360AE
:1004C0000DE0104B5B6803F4003323B1144B43433E
:1004D000124C236003E0104B4343104C236003E0B5
:1004E0000D4B0E4C236000BF00BF064B5B68C3F38F
:1004F00003130C4CE15C094B1B68CB40074C236099
:1005000010BD000000100240002002400000FFF873
:10051000FFFFF6FE08ED00E000127A000000002068
:1005200000093D000400002008B50121182000F05A
:10053000C1FF4FF40050ADF8000010208DF803000B
:1005400003208DF8020069460D4800F0F7FC4FF4D7
:1005500000510B4800F09FFD4FF4F070ADF8000023
:1005600010208DF8030003208DF80200694605482D
:1005700000F0E4FC4FF4F071024800F08CFD08BD7F
:1005800000100140000C014010B500208749088090
:100590004FF4FA718548001D02F008F910BD00B54E
:1005A00087B00121042000F085FF0121480400F0FC
:1005B0008EFF18208DF81B000420ADF818000320D2
:1005C0008DF81A0006A97A4800F0B8FC04208DF8CE
:1005D0001B000820ADF8180003208DF81A0006A9AA
:1005E000734800F0ABFC4FF4E13002900020ADF80E
:1005F00014000C20ADF812000020ADF81000ADF88A
:100600000E00ADF80C0002A96A4800F0FAFF0121C3
:10061000684801F082F8012240F22551654801F056
:1006200088F826208DF8040001208DF807008DF849
:1006300005008DF8060001A800F0B7FBFFF7A4FF46
:1006400007B000BD70B504460D46002611E04021FC
:10065000584801F04AF914F8011B564801F0CAF84D
:1006600000BF4021534801F033F90028F9D0701C35
:1006700086B2AE42EBDB70BD4C48008808B9012061
:1006800070474A48008849494988884203D1002078
:1006900046490880F4E745480088444948800120DD
:1006A000EEE710B540F22551424801F027F9B8B104
:1006B0003E480088B0F5FA7F02D300203B4908800D
:1006C0003C48001D0088C1B2384802880088401CA0
:1006D000364B1880181D81542021364801F005F949
:1006E00010BD2DE9F04105460E461446284602F09D
:1006F00084F887B239462846FFF7A4FF10E0FFF7D9
:10070000BBFF50B931462948001D02F05AF820B10C
:10071000FFF73AFF0020BDE8F0810A2000F0A1FABF
:100720002000A4F10104EAD10120F4E70FB430B5B0
:10073000CBB0054601AC50A8009001A8009A4F9993
:1007400002F026FB002000900BE014F8011B284665
:1007500001F050F800BF4021284601F0B9F8002808
:10076000F9D020780028F0D14BB030BC5DF814FBF4
:100770002DE9F04107460C461546002611E04021C0
:100780000C4801F0B2F814F8011B384601F032F8B9
:1007900000BF4021384601F09BF80028F9D0701CBA
:1007A00086B2AE42EBDBBDE8F08100007C000020A9
:1007B000000801400044004010B5754890F83C0026
:1007C000C0F38300062874D2DFE800F0031A2B4040
:1007D0005162FFF7D9FE08216EA0FFF733FF962084
:1007E00000F03FFA6E496FA002F0AEFAFFF7CCFEC0
:1007F0006748808F20F03C00001D6549888758E0DD
:1008000078A002F0A1FA32227AA17BA0FFF769FF5B
:1008100030B95F48808F20F03C0008305C49888701
:1008200047E077A002F090FA322272A179A0FFF798
:1008300058FF30B95648808F20F03C000C305449A6
:1008400088874FF4FA7000F00CFA32E074A002F0DE
:100850007BFA322267A178A0FFF743FF30B94C48FA
:10086000808F20F03C0010304949888721E076A035
:1008700002F06AFA32225FA179A0FFF732FF30B9A5
:100880004348808F20F03C0014304149888710E0B5
:1008900077A002F059FA322256A17DA0FFF721FF7E
:1008A00030B93B48808F20F03C00183038498887A9
:1008B00000BF00BF364890F83C00C0F38300062814
:1008C00001D1002010BD0120FCE730B58BB00546FA
:1008D0000C46282101A801F069FF224672A101A857
:1008E00002F042FA322275A101A8FFF7FAFE10B118
:1008F00001200BB030BD322271A12846FFF7F1FE76
:1009000008B10120F5E70020F3E770B50025642465
:100910000E216DA0FFF796FE0EE0FFF7ADFE40B989
:100920006DA11F4801F04DFF08B1002500E003252F
:1009300006E0022000F095F9601EC0B20400ECD180
:1009400000BF04B90225284670BD70B505460024D5
:1009500000BFFFF791FE80B962A1114801F031FF9D
:10096000044654B13A21204601F03DFF044614B13B
:10097000641C204670BD0020FCE7052000F071F9E2
:100980002800A5F101018DB2E3D100BFF2E700001C
:100990001400002041542B474D520D0A0000000066
:1009A000800000200D0A2A2A2A2A2A2A2A2A2A2AEC
:1009B0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A97
:1009C0000D0A25730D0A2A2A2A2A2A2A2A2A2A2ABD
:1009D0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A77
:1009E0000D0A0000415020546970733A0941540DBA
:1009F0000A0000004F4B000041540D0A00000000A7
:100A0000415020546970733A0941542B5253540D8C
:100A10000A00000041542B5253540D0A00000000FC
:100A2000415020546970733A0941542B43574D4F3C
:100A300044453D320D0A000041542B43574D4F446D
:100A4000453D320D0A000000415020546970733A50
:100A50000941542B4349504D55583D310D0A000072
:100A600041542B4349504D55583D310D0A0000006B
:100A7000415020546970733A0941542B43495053F3
:100A800045525645523D312C3838380D0A00000089
:100A900041542B4349505345525645523D312C3811
:100AA00038380D0A0000000041542B43495053458B
:100AB0004E443D302C25640D0A0000003E0000002D
:100AC00053454E44204F4B0041542B4349505354FF
:100AD000415455530D0A00002B434950535441547F
:100AE00055533A00495044007FB505460C46012154
:100AF000084600F0ECFCADF80850ADF804400020CA
:100B0000ADF80A00ADF8060001A94FF0804001F0F1
:100B10000DF801221146900701F07FFB1C208DF893
:100B2000000001208DF8010003208DF80200012053
:100B30008DF80300684600F038F90121880701F0BC
:100B400051FB7FBD10B50121880701F014FE00287C
:100B50003BD00121880701F01FFE1C480068401CA3
:100B60001A490860084600680A2804D30020086073
:100B700001201749087017480078012825D1164828
:100B80000078401C144908700846007802281CDBD5
:100B90000020087011480088002804DD0F480088F4
:100BA000401E0E4908800D48008870B90020094990
:100BB000087001200A4908600A49C1F89C010849E7
:100BC000083908600749C1F8940110BD5C00002095
:100BD000540000205500002058000020560000203E
:100BE000A08121420080214210B56FF0040000F086
:100BF00026F92E4800682E49B0FBF1F02D49087007
:100C00000846007800EB4001C1EBC0104FF6FF71C1
:100C100001EAC0002849088010BD0146254A127823
:100C20004A434FF0E0235A6100229A611A46126942
:100C300042F001021A6100BF4FF0E022106900F09B
:100C400001021AB100F48032002AF5D04FF0E02200
:100C5000126922F001024FF0E0231A6100229A612A
:100C600070470146144A12884A434FF0E0235A6104
:100C700000229A611A46126942F001021A6100BF0D
:100C80004FF0E022106900F001021AB100F4803246
:100C9000002AF5D04FF0E022126922F001024FF055
:100CA000E0231A6100229A617047000000000020D2
:100CB00000127A006000002062000020014600BFA0
:100CC000704700BF2B4A128802F04002002AF9D078
:100CD000C2B2284B1B1D1A80704710B586B004465F
:100CE000012144F2040000F0E5FB4FF40070ADF880
:100CF000140003208DF8160018208DF8170005A9A0
:100D00001D4800F01BF94FF48060ADF8140004207A
:100D10008DF8170005A9184800F010F925208DF866
:100D2000000002208DF8010003208DF80200012050
:100D30008DF80300684600F038F801940020ADF803
:100D40000800ADF80A00ADF80C00ADF810000C205A
:100D5000ADF80E0001A9074800F053FC012240F253
:100D60002551044800F0E5FC0121024800F0D5FCC3
:100D700006B010BD00380140000801400648804719
:100D800006480047FEE7FEE7FEE7FEE7FEE7FEE770
:100D9000FEE7FEE7FEE7FEE727040008ED00000897
:100DA00031490143314A1160704770B50021002379
:100DB0000F22C47804B32D4C246804F4E064C4F515
:100DC000E064210AC1F10403CA40447804FA03F143
:100DD0008478144021430901254C0678A1550478F4
:100DE00004F01F050124AC4005786D11AD0005F13C
:100DF000E025C5F8004109E0047804F01F0501244E
:100E0000AC401C4D0678761145F8264070BD1A4A54
:100E10000A400243154B1B1F1A60704739B1134A31
:100E2000121D12680243114B1B1D1A6006E00F4A87
:100E3000121D126882430D4B1B1D1A607047042857
:100E400008D14FF0E021096941F004014FF0E022A0
:100E5000116107E04FF0E021096921F004014FF032
:100E6000E0221161704700000000FA050CED00E07F
:100E700000E400E080E100E080FFFF1F10B50446C1
:100E8000CC48844208D10121042000F02DFB002130
:100E9000042000F029FB46E0C748844208D1012124
:100EA000082000F021FB0021082000F01DFB3AE0A3
:100EB000C248844208D10121102000F015FB002116
:100EC000102000F011FB2EE0BD48844208D1012122
:100ED000202000F009FB0021202000F005FB22E08B
:100EE000B848844208D10121402000F0FDFA0021D9
:100EF000402000F0F9FA16E0B348844208D10121FD
:100F0000802000F0F1FA0021802000F0EDFA0AE0E4
:100F1000AE48844207D10121801500F0E5FA002196
:100F2000A01500F0E1FA10BD10B50121084600F04F
:100F3000DBFA0021012000F0D7FA10BD2DE9F041C5
:100F4000024600250026002000230024002791F8F7
:100F500003C00CF00F0591F803C00CF0100CBCF1AD
:100F6000000F03D091F802C04CEA050591F800C0CB
:100F7000BCF1000F31D0146800202BE04FF0010CC1
:100F80000CFA00F3B1F800C00CEA03069E4220D12F
:100F900083004FF00F0C0CFA03F7BC4305FA03FC77
:100FA0004CEA040491F803C0BCF1280F06D14FF0BD
:100FB000010C0CFA00FCC2F814C00AE091F803C05E
:100FC000BCF1480F05D14FF0010C0CFA00FCC2F83F
:100FD00010C0401C0828D1D31460B1F800C0BCF187
:100FE000FF0F34DD546800202EE000F1080C4FF0B4
:100FF000010808FA0CF3B1F800C00CEA03069E429F
:1010000021D183004FF00F0C0CFA03F7BC4305FA13
:1010100003FC4CEA040491F803C0BCF1280F05D18D
:1010200000F1080C08FA0CF8C2F8148091F803C01B
:10103000BCF1480F07D100F1080C4FF0010808FA85
:101040000CF8C2F81080401C0828CED35460BDE8CC
:10105000F0814FF6FF710180022181700421C1707F
:1010600070470246002093680B400BB1012000E05E
:10107000002070470146886880B270470246002011
:10108000D3680B400BB1012000E0002070470146FF
:10109000C86880B2704701617047416170470AB10A
:1010A000016100E041617047C16070474FF48032D8
:1010B0000A43826181618261826982697047024666
:1010C0000020434B18684FF68073184040EA021026
:1010D00008433F4B186070473E49C8617047F0B500
:1010E0000A46002300240021002500F00046B6F146
:1010F000004F02D1364EF16901E0354E7168C0F300
:10110000034583B200F44016B6F5401F08D121F024
:1011100070612F4E766826F070662D4F7E6012E06B
:1011200000F48016B6F5801F06D1032606FA05F4F2
:10113000A14341F0706106E0460D360103FA06F660
:10114000B14341F0706122B1460D360103FA06F653
:10115000314300F00046B6F1004F02D11C4EF16160
:1011600001E01B4E7160F0BD30B500228B071C0FF3
:101170000F2303FA04F2164B08338C1053F8243073
:101180009343134C08348D1044F8253023468C10BB
:1011900053F824308C07240F00FA04F423430C4C3A
:1011A00008348D1044F8253030BD0A49DC31086020
:1011B0007047000000080140000C01400010014091
:1011C0000014014000180140001C014000200140B3
:1011D0000000014000002042DF48006840F00100AC
:1011E000DD49086008464068DC490840DA49486043
:1011F00008460068DA490840D74908600846006890
:1012000020F4802008600846406820F4FE00486012
:101210004FF41F0088607047CF49096821F480317E
:10122000CD4A11601146096821F480211160B0F5A2
:10123000803F03D0B0F5802F0ED106E0C649096883
:1012400041F48031C44A116007E0C349096841F4A0
:10125000A021C14A116000E000BF00BF704710B577
:1012600001460022002300204A11012A02D1BA4C73
:10127000236806E0022A02D1B74C236A01E0B64C8B
:10128000636A01F01F02012494401C400CB101204C
:1012900000E0002010BD38B500200090002400259B
:1012A00000BF3120FFF7DBFF05460098401C00908F
:1012B0000098B0F5A06F01D0002DF2D03120FFF7DB
:1012C000CEFF08B1012400E00024204638BD0146CD
:1012D0000020A14A106820F0F80040EAC100106028
:1012E0007047A04908607047024600209A4B586832
:1012F00020F47C1042EA01031843974B5860704772
:1013000098490866704701460020934A506820F0CB
:1013100003000843506070478F48406800F00C009D
:101320007047014600208C4A506820F0F0000843C6
:101330005060704701460020874A506820F4E06002
:1013400008435060704701460020834A506820F4EB
:10135000605040EAC1005060704729B17E4A527A1D
:1013600002437D4B5A7204E07B4A527A82437A4BA5
:101370005A7270477B49D831086070470146002097
:10138000754A506820F4404008435060704700217F
:10139000714A20321170704A82F82010012802D060
:1013A00004280AD104E001216B4A2032117005E0C3
:1013B0000521694A2032117000E000BF00BF70476C
:1013C0006949086070476449096A0143624A1162C9
:1013D0007047654944390860704730B500210022E4
:1013E000002400235C4D6D6805F00C0121B1042937
:1013F00005D0082923D105E05C4D056022E05B4D56
:1014000005601FE0544D6D6805F47012524D6D6813
:1014100005F48034022505EB92421CB9544D554326
:1014200005600BE04C4D6D6805F400351DB1504D65
:101430005543056002E04D4D5543056002E04B4DBC
:10144000056000BF00BF444D6D6805F0F00109095B
:10145000484D6B5C0568DD4045603F4D6D6805F4A7
:10146000E061090A434D6B5C4568DD4085603A4D9B
:101470006D6805F46051C90A3E4D6B5C4568DD40FE
:10148000C560354D6D6805F44041890B3A4D6B5C84
:10149000C568B5FBF3F5056130BD29B12E4A526927
:1014A00002432D4B5A6104E02B4A526982432A4B76
:1014B0005A61704729B1284A92690243264B9A61C2
:1014C00004E0254A92698243234B9A61704729B10F
:1014D000214AD2690243204BDA6104E01E4AD269F4
:1014E00082431D4BDA61704729B11B4AD26802431F
:1014F000194BDA6004E0184AD2688243164BDA606E
:10150000704729B1144A12690243134B1A6104E06F
:10151000114A12698243104B1A61704712494039CF
:10152000086070470F49C86470470B49C87170471D
:101530000948406A40F08070074948627047014698
:101540000020054A92680A400AB1012000E000200C
:101550007047014988727047001002400000FFF890
:10156000FFFFF6FE000042428004424200127A0071
:1015700000093D00680000207800002010B50446F6
:10158000FB48844209D101218803FFF7ADFF002108
:101590004FF48040FFF7A8FF32E0F648844209D1BB
:1015A00001214804FFF7ADFF00214FF40030FFF7A1
:1015B000A8FF25E0F048844209D101218804FFF703
:1015C000A0FF00214FF48020FFF79BFF18E0EB48BD
:1015D000844209D10121C804FFF793FF00214FF491
:1015E0000020FFF78EFF0BE0E548844208D101217F
:1015F0000805FFF786FF00214FF48010FFF781FFF9
:1016000010BD2DE9F04786B005460E460024A246DF
:1016100000BFA1460027B08900B100BF2F462C8A29
:101620004CF6FF700440F08804432C82AC894EF6DF
:10163000F3100440B088318908437189084304439A
:10164000AC81AC8A4FF6FF400440B0890443AC82C1
:1016500001A8FFF7C2FEC648874202D1DDF810A0FC
:1016600001E0DDF80CA0A88900F4004040B10AEBCD
:10167000CA0000EB0A1031684900B0FBF1F807E03E
:101680000AEBCA0000EB0A1031688900B0FBF1F8E0
:101690006420B8FBF0F004012009642101FB1089EB
:1016A000A88900F4004040B1322000EBC900B0FB33
:1016B000F1F000F00700044308E0322000EB0910CD
:1016C0006421B0FBF1F000F00F0004432C8106B060
:1016D000BDE8F0874FF41651016000218180C18080
:1016E00001810C21418100218181704710B50246A2
:1016F0000020108A4FF2FF0318400B884C882343C8
:101700008C882343CC8823431843108210BD0021CA
:10171000018041808180C180704721B1828942F47B
:101720000052828104E082894DF6FF731A40828163
:101730007047F0B50346002400260025002040F63F
:101740006A17B94200D100BF1846C1F3421401F034
:101750001F06012707FA06F5012C01D10C3004E021
:10176000022C01D1103000E014301AB107682F4369
:10177000076002E00768AF430760F0BD1AB1838AD3
:101780000B43838202E0838A8B4383827047028A01
:101790004FF6F0731A400282028A0A4302827047AF
:1017A00082894FF2FF731A40828182890A438281C3
:1017B000704721B1828942F00202828104E082896D
:1017C0004FF6FD731A4082817047028A4FF6DF732D
:1017D0001A400282028A0A430282704721B1028AB9
:1017E00042F48042028204E0028A4BF6FF731A4000
:1017F00002827047C1F308028280704701468888E0
:10180000C0F308007047818941F001018181704770
:10181000028BD2B20283028B42EA0122028370471A
:10182000028B02F47F420283028B0A4302837047D9
:1018300021B1828A42F02002828204E0828A4FF63D
:10184000DF731A408282704721B1828A42F010020F
:10185000828204E0828A4FF6EF731A4082827047D8
:1018600021B1828A42F00802828204E0828A4FF625
:10187000F7731A408282704721B1828942F4004294
:10188000828103E08289C2F30E028281704721B116
:10189000828A42F40062828204E0828A4FF2FF73FD
:1018A0001A4082827047828A4FF6FB731A40828206
:1018B000828A0A438282704721B1828A42F0020200
:1018C000828204E0828A4FF6FD731A40828270475A
:1018D00002460020B1F5007F00D100BF13880B4005
:1018E0000BB1012000E00020704701F40072B2F556
:1018F000007F00D100BFCA430280704770B5024626
:10190000002400230025002040F66A16B14200D1D1
:1019100000BFC1F3421501F01F03012606FA03F3CD
:10192000012D02D19689334006E0022D02D1168A9C
:10193000334001E0968A33400C12012606FA04F483
:101940001688344013B10CB1012000E0002070BDB6
:1019500010B50022002340F66A14A14200D100BF56
:101960000A1201249440A3B2DC43048010BD00009D
:10197000003801400044004000480040004C004056
:101980000050004010B50446FE48844208D10121B1
:10199000C014FFF7A9FD0021E014FFF7A5FDC4E086
:1019A000B4F1804F08D101210846FFF7AAFD0021BC
:1019B0000120FFF7A6FDB8E0F348844208D10121D9
:1019C0000220FFF79EFD00210220FFF79AFDACE008
:1019D000EE48844208D101210420FFF792FD002146
:1019E0000420FFF78EFDA0E0E948844208D10121E0
:1019F0000820FFF786FD00210820FFF782FD94E014
:101A0000E448844208D101211020FFF77AFD00212B
:101A10001020FFF776FD88E0DF48844208D10121DD
:101A20002020FFF76EFD00212020FFF76AFD7CE0FB
:101A3000DA48844208D101214014FFF755FD002106
:101A40006014FFF751FD70E0D548844209D10121AF
:101A5000C804FFF749FD00214FF40020FFF744FDC3
:101A600063E0D048844209D101210805FFF73CFD1D
:101A700000214FF48010FFF737FD56E0CA4884423A
:101A800009D101214805FFF72FFD00214FF4001077
:101A9000FFF72AFD49E0C548844208D101214020D2
:101AA000FFF72FFD00214020FFF72BFD3DE0C04850
:101AB000844208D101218020FFF723FD00218020EE
:101AC000FFF71FFD31E0BB48844208D1012180159A
:101AD000FFF717FD0021A015FFF713FD25E0B6481D
:101AE000844209D101210804FFF7FEFC00214FF4D4
:101AF0008030FFF7F9FC18E0B048844209D1012199
:101B00004804FFF7F1FC00214FF40030FFF7ECFC34
:101B10000BE0AB48844208D101218804FFF7E4FCC4
:101B200000214FF48020FFF7DFFC10BD0022028867
:101B3000944B98420ED0994B98420BD0B0F1804F05
:101B400008D0914B984205D0904B984202D0904BD0
:101B5000984204D14FF68F731A404B881A438D4B2D
:101B6000984207D08C4B984204D04FF6FF431A405E
:101B7000CB881A4302808B8883850B880385814B31
:101B800098420BD0854B984208D08B4B984205D099
:101B90008A4B984202D08A4B984201D10B7A038635
:101BA00001238382704770B5002400220023058C36
:101BB0004FF6FE7635400584028C8388048B4FF601
:101BC0008F752C40B51E2C400D882C43751E2A4065
:101BD0000D892A434D882A436A4DA8420BD06F4D88
:101BE000A84208D0744DA84205D0744DA84202D036
:101BF000734DA84213D14FF6F7752A404D892A43F9
:101C00004FF6FB752A408D882A434FF6FF652B401F
:101C10004FF6FF552B408D892B43CD892B43838075
:101C20000483CD888586028470BD70B500240022AF
:101C30000023058C4FF6EF7635400584028C8388AF
:101C4000048B48F6FF752C404FF6FF452C400D885D
:101C50004FF6FF7606EA05252C434FF6DF752A403E
:101C60000D8906EA05152A434D8806EA05152A431B
:101C7000444DA84202D0494DA8421DD14FF67F7570
:101C80002A404D894FF6FF7606EA05152A434FF69E
:101C9000BF752A408D8806EA05152A434FF6FF35A1
:101CA0002B404FF2FF752B408D8906EA85052B43AB
:101CB000CD8906EA85052B4383800483CD8805877B
:101CC000028470BD70B5002400220023058C4FF6FD
:101CD000FF6635400584028C8388848B4FF68F75B0
:101CE0002C404FF6FC752C400D882C434FF6FF55C9
:101CF0002A400D894FF6FF7606EA05252A434D88CE
:101D000006EA05252A431F4DA84202D0234DA842CA
:101D10001DD14FF2FF752A404D894FF6FF7606EA36
:101D200005252A434FF6FF352A408D8806EA05250A
:101D30002A434EF6FF752B404DF6FF752B408D89DB
:101D400006EA05152B43CD8906EA05152B4383804A
:101D50008483CD888587028470BD70B500220023FE
:101D60000024058C4EF6FF7635400584038C84886C
:101D7000828B48F6FF752A404FF6FF452A400D88B2
:101D800020E00000002C014000040040000800405A
:101D9000000C0040001000400014004000340140DE
:101DA000004C014000500140005401400018004028
:101DB000001C004000200040004001400044014061
:101DC000004801404FF6FF7606EA05252A434DF606
:101DD000FF752B400D8906EA05352B434D8806EA31
:101DE00005352B43FA4DA84202D0FA4DA84208D13E
:101DF0004BF6FF752C408D894FF6FF7606EA851568
:101E00002C4384808283CD88A0F84050038470BD29
:101E1000828B4FF2FF331A408283828B4FF6FF731F
:101E200003EA01231A4382837047F0B50C46154636
:101E3000002200210026078C4EF6FF7C07EA0C07E3
:101E40000784828B018C4FF6FF7707EA043640F651
:101E5000FF473A404FF6FF7707EA05273A434FF628
:101E6000FF7707EA03373A43D94FB8420ED0D94F2C
:101E7000B8420BD0B0F1804F08D0D74FB84205D050
:101E8000D64FB84202D0D64FB84206D14DF6FF77B2
:101E9000394046F48057394305E047F6FF5739404B
:101EA00044F48057394382830184F0BD828B4FF61E
:101EB000F3731A408283828B0A4382837047F0B5A2
:101EC0000C461546002200210026078C4FF6FF6CB9
:101ED00007EA0C070784828B018C4FF6FF7707EA2D
:101EE00004264FF60C773A404FF6FF7707EA0317C0
:101EF0002F433A43B64FB8420ED0B64FB8420BD03C
:101F0000B0F1804F08D0B44FB84205D0B34FB842BB
:101F100002D0B34FB84206D14FF6FF57394046F4CE
:101F20008077394305E04FF2FF57394044F480771A
:101F3000394382830184F0BD028B4FF2FF331A4094
:101F40000283028B4FF6FF7303EA01231A430283D5
:101F50007047F0B50C461546002200210026078C7C
:101F60004FF6EF7C07EA0C070784028B018C4FF6D3
:101F7000FF7707EA041640F6FF473A404FF6FF772F
:101F800007EA03373A434FF6FF7707EA05273A4354
:101F90008F4FB8420ED08F4FB8420BD0B0F1804F68
:101FA00008D08D4FB84205D08C4FB84202D08C4F2C
:101FB000B84206D14FF6DF77394046F01007394373
:101FC00005E04FF65F77394044F01007394302834C
:101FD0000184F0BD028B4FF6F3731A400283028B2B
:101FE0000A4302837047F0B50C46154600220021D3
:101FF000068C4FF6FE773E400684028B018C4FF62E
:102000000C7632407E1C06EA03162E433243704E95
:10201000B0420ED06F4EB0420BD0B0F1804F08D01E
:102020006D4EB04205D06D4EB04202D06C4EB04203
:1020300006D14FF6FD76314044F00106314305E00C
:102040004FF6F576314044F00106314302830184B6
:10205000F0BD70B505460C465D4885420ED05D4822
:1020600085420BD0B5F1804F08D05B48854205D042
:102070005A48854202D05A48854200D100E000BF4C
:10208000208850B92389A28861882846FFF7ABFFD2
:10209000E1882846FFF79EFF25E0208804280AD122
:1020A0002389A28861882846FFF753FFE1882846E4
:1020B000FFF742FF17E0208808280AD12389A28869
:1020C00061882846FFF7FBFEE1882846FFF7EEFE11
:1020D00009E02389A28861882846FFF7A6FEE188E7
:1020E0002846FFF795FE70BD2DE9F04105460C46E8
:1020F00000260127608808B9022600E00026A08893
:10210000012801D1022700E001272088A0B92389F6
:10211000A28861882846FFF766FFE1882846FFF716
:1021200059FF23893A4631462846FFF712FFE188D6
:102130002846FFF701FF13E02389A288618828461B
:10214000FFF707FFE1882846FFF7F6FE23893A46A6
:1021500031462846FFF747FFE1882846FFF73AFF58
:10216000BDE8F0810A884B881A438B881A43CB88D4
:102170001A430B891A434B891A438B891A43A0F8D7
:10218000442070474FF6FF71818000210180C1809B
:102190004180017270470021018041808180C180AF
:1021A000018141818181C18170470021018041808D
:1021B000012181800021C1800181704700210180BF
:1021C00041808180C180018141818181704700000F
:1021D000002C014000340140000400400008004091
:1021E000000C004021B1028842F00102028004E0AC
:1021F00002884FF6FE731A400280704731B1B0F882
:10220000442042F40042A0F8442005E0B0F8442005
:10221000C2F30E02A0F8442070471AB183890B4321
:10222000838102E083898B43838170478182704779
:1022300041EA0203A0F8483070471AB183890B4382
:10224000838102E083898B438381704701894FF644
:10225000F8721140018170470A46002101894FF64A
:102260008F73194011430181704730B504460D4604
:1022700029462046FFF7F0FF208940F00700208123
:1022800030BD2DE9F04104460D4616461F46602D2F
:1022900006D13B46012231462046FFF75AFE05E0B3
:1022A0003B46012231462046FFF79DFE2946204647
:1022B000FFF7D2FF208940F007002081BDE8F081C0
:1022C00030B50C4600210189C9B24FF6FF7505EA09
:1022D0000325154325432943018130BD2DE9F041F4
:1022E00005460E4617469846002443463A46314670
:1022F0002846FFF7E5FF2C894FF6F870044044F0BC
:1023000007044FF68F70044044F070042C81BDE840
:10231000F081F0B504460D4616461F463B46324650
:1023200029462046FFF7CCFF208940F480402081D9
:10233000F0BD0185828270470A46002101884FF670
:102340008F731940114301807047F0B50C46154654
:102350001E460021002200230189028B038C4FF6C8
:10236000F877394021434FF6FC473A4040F20117D5
:102370003A434FF6DD773B404FF6FF7707EA061703
:102380002F433B43018102830384F0BD0A460021B1
:10239000018B4FF68F7319401143018370470A4632
:1023A0000021018B48F6FF7319404FF6FF7303EAD3
:1023B00002231943018370470A460021818B4FF69F
:1023C0008F7319401143818370470A460021818B26
:1023D00048F6FF7319404FF6FF7303EA02231943CF
:1023E0008183704721B1028842F08002028004E0BC
:1023F00002884FF67F731A400280704721B18288AD
:1024000042F00402828004E082884FF6FB731A4097
:102410008280704721B1828842F00802828004E005
:1024200082884FF6F7731A408280704721B1828804
:1024300042F00102828004E082884FF6FE731A4067
:10244000828070470A460021018B4FF6F7731940CE
:102450001143018370470A460021018B4FF2FF733D
:1024600019404FF6FF7303EA0223194301837047B3
:102470000A460021818B4FF6F7731940114381837F
:1024800070470A460021818B4FF2FF7319404FF6C7
:10249000FF7303EA02231943818370470A46002130
:1024A000018B4FF6FB7319401143018370470A46B5
:1024B0000021018B4FF6FF3319404FF6FF7303EAFB
:1024C00002231943018370470A460021818B4FF68E
:1024D000FB7319401143818370470A460021818BA9
:1024E0004FF6FF3319404FF6FF7303EA02231943F7
:1024F000818370470A460021018B4FF67F73194094
:102500001143018370470A460021018BC1F30E017C
:102510004FF6FF7303EA02231943018370470A460B
:102520000021818B4FF67F731940114381837047DF
:102530000A460021818BC1F30E014FF6FF7303EAB7
:1025400002231943818370470A460021018C4FF60C
:10255000FD7319401143018470470A460021018C24
:102560004FF6F77319401143018470470A46002162
:10257000018C4FF6DF7319404FF6FF7303EA021325
:102580001943018470470A460021018C4FF67F737E
:1025900019404FF6FF7303EA021319430184704791
:1025A0000A460021018C4FF6FF5319404FF6FF7386
:1025B00003EA02231943018470470A460021018C73
:1025C0004FF2FF7319404FF6FF7303EA02231943DA
:1025D000018470470A460021018C4DF6FF731940B3
:1025E0004FF6FF7303EA023319430184704730B595
:1025F000002301248C40A3B2048C9C430484048CEB
:1026000002FA01F5ADB22C43048430BD30B500238D
:1026100004248C40A3B2048C9C430484048C02FAEE
:1026200001F5ADB22C43048430BD70B503460020E3
:1026300000241846183001258D40ACB21D8CA543EE
:102640001D8409B1082909D100EB6100056825F056
:10265000700505600568154305600EE00D1FC5F3A4
:102660004E052844056825F4E045056005684FF6E9
:10267000FF7606EA02263543056070BD21B1028867
:1026800042F00202028004E002884FF6FD731A4015
:102690000280704721B1028842F00402028004E007
:1026A00002884FF6FB731A400280704721B182887E
:1026B00042F08002828004E082884FF67F731A40E5
:1026C0008280704702884FF6F7731A4002800288B2
:1026D0000A430280704782884FF68F731A408280C7
:1026E00082880A438280704702894FF6F8731A4045
:1026F000028102890A430281704702894FF67F7383
:102700001A40028102890A4302817047818470471E
:102710008185704781867047018770478187704740
:10272000A0F84010704702884FF6FF431A4002801D
:1027300002880A43028070470146888E704701462E
:10274000088F70470146888F70470146B1F84000F6
:1027500070470146888C70470146088D70470246D5
:102760000020138A0B400BB1012000E000207047CD
:10277000CA430282704730B502460020002300247D
:10278000158A05EA0103958905EA010413B10CB124
:10279000012000E0002030BDCA4302827047D2B25F
:1027A00001E000F8012B491EFBD270470022F6E73A
:1027B00010B513460A4604461946FFF7F0FF2046B7
:1027C00010BD30B505462A460B4612F8010B13F82A
:1027D000014B08B1A042F8D01CB1002802D06D1CFA
:1027E000F1E7284630BDCAB2401E10F8011F8A42E8
:1027F00002D00029F9D100207047421C10F8011BBB
:102800000029FBD1801A704730B50B4601460020E5
:102810002022012409E021FA02F59D4205D303FAA2
:1028200002F5491B04FA02F52844151EA2F1010223
:10283000F1DC30BD2DE9F05F0546002092469B4655
:1028400088460646814640241BE0284641464746C6
:10285000224600F0FAF953465A46C01A914110D365
:1028600011461846224600F0E1F92D1A67EB0108DF
:102870004F4622460120002100F0D8F917EB00094D
:102880004E41201EA4F10104DFDC484631462A46B1
:102890004346BDE8F09F2DE9FE4F804681EA0300E4
:1028A000C00F0C46009021F0004123F00045B8EB2A
:1028B0000200A94105D24046214690461C460B46DF
:1028C000024623F00040104347D0270DC7F30A000B
:1028D000C3F30A510290401A019040286BDAC3F307
:1028E000130040F4801B0098924620B10023D2EBE5
:1028F000030A63EB0B0B01985946C0F140025046A6
:1029000000F094F906460D4650465946019A00F0EB
:10291000ACF910EB08006141002487EA115284EA07
:10292000E7731A4340D0009A62B3019A012A4FEA32
:10293000075215DC001B61EB02014FF0004202EA76
:102940000752CDE90042001C41F5801132462B466A
:1029500000F0ACF903B0BDE8F08F40462146F9E73E
:10296000001B61EB0201001C41F5801300185B4164
:102970002018A2F5001747EB030140EAD570B619FD
:102980006D4111E06D084FEA360645EAC0754FEA21
:102990000752001B61EB0201001C41F58011490840
:1029A0004FEA30000019514132462B4603B0BDE8D2
:1029B000F04F00F06CB90098012240000023D0EBEA
:1029C000020263EBE073009821464FEAE074B8EB33
:1029D000000061EB0401E9E783F000435BE781F06D
:1029E000004158E72DE9FE4F81EA030404F000445A
:1029F00021F0004100944FF0000B23F0004350EA17
:102A000001045ED052EA03045BD0C3F30A54C1F35D
:102A10000A552C44A4F2F3340194A0FB0254C1F3F0
:102A2000130141F48011C3F3130343F4801301FB3A
:102A3000024400FB034E840A970A44EA815447EAA1
:102A40008357A4FB076802958D0A05FB07854FEAAB
:102A5000932C04FB0C542705029D4FEA065847EAC5
:102A60001637B5EB08056EEB070C870E920E47EA9A
:102A7000811742EA8312A7FB0201B6EB0B0164EB5C
:102A800000042B0D43EA0C335E1844EB1C50DA466D
:102A90005146E7FB0201C5F313044FEA0B3343EA47
:102AA00014534FEA0432019C43EA0603A4F10C04D8
:102AB0000294009CCDE900B400F0F8F803B0BDE842
:102AC000F08F00200146F9E72DE9F04D81EA03047B
:102AD00004F0004B21F0004514464FF0000A23F0AB
:102AE000004150EA050220D054EA01021DD0C5F38E
:102AF0000A570246C5F31303C1F31300C1F30A5684
:102B000040F4801543F48013A7EB0608101BD6464B
:102B100008F2FD3873EB050002D308F1010801E06B
:102B200092185B41B8F1000F03DA00200146BDE8BE
:102B3000F08D00204FF48011064684460EE0171BEE
:102B400073EB050705D3121B63EB050306434CEA41
:102B5000010C49084FEA300092185B4150EA010726
:102B6000EDD152EA030012D082EA040083EA0501A3
:102B7000084305D0101BAB4106D20122002306E01A
:102B800000224FF0004302E06FF0010253101AEBF5
:102B900006004CEB085110EB0A0041EB0B01BDE8BD
:102BA000F04D00F074B8C1F30A52C1F3130140F2C2
:102BB000FF3341F480119A4202DA00200146704747
:102BC00040F233439A42A2F2334202DC524200F016
:102BD0003CB800F02BB8000030B5041E71F10004C1
:102BE00004DB4FF00044404264EB0101141E73F11A
:102BF000000405DB1C464FF00043524263EB040324
:102C0000994208BF904230BD064C074D06E0E0688F
:102C100040F0010394E8070098471034AC42F6D323
:102C2000FDF768FABC390008DC390008202A04DB0B
:102C3000203A00FA02F1002070479140C2F12003CF
:102C400020FA03F3194390407047202A04DB203A0E
:102C500021FA02F00021704721FA02F3D040C2F1BC
:102C600020029140084319467047202A06DBCB1703
:102C7000203A41FA02F043EAE07306E041FA02F337
:102C8000D040C2F12002914008431946704710B568
:102C9000141E73F1000408DA401C41F1000192187F
:102CA0005B411A4301D120F0010010BD2DE9F04D28
:102CB00092469B4611B1B1FA81F202E0B0FA80F27D
:102CC00020329046FFF7B2FF04460F4640EA0A0062
:102CD00041EA0B0153465A46084313D0114653EAC2
:102CE000010019D0C8F140025046FFF7AEFF05467B
:102CF0000E46504659464246FFF798FF084305D016
:102D0000012004E020463946BDE8F08D002005434F
:102D100046EAE0762C4337430A986305E40AA0EBC1
:102D200008000022FD0A44EA47540A3002D5002078
:102D30000146E9E7010510196941DDE90845001977
:102D40006941BDE8F04DA2E70FB4054B10B503A9EA
:102D5000044A029800F0F0F810BC5DF814FB000083
:102D6000C30C0008640000200FB4084B10B504A980
:102D700002AA039800F0E0F8044602A9002000F03F
:102D800013FE204610BC5DF814FB0000A9390008B2
:102D900037B514460846064B6A46214600F044FA09
:102DA00004466946002000F004FE20463EBD0000B7
:102DB000B339000802E008C8121F08C1002AFAD17E
:102DC00070477047002001E001C1121F002AFBD1AB
:102DD000704700002DE9FF5FDDE90220010DDDF8FD
:102DE00038B0024318D044F61050A1F2FF314143ED
:102DF0000D140F98012820D0A5EB0B00401C5FEAB2
:102E0000000A4FF00004474EDFF81C91A0465046E0
:102E100016D5CAF1000728E00F98012443A2012823
:102E200008D0002100980F9BC0E90021C0E90243AF
:102E3000BDE8FF9F6FEA0B01F4E7CBF10000DEE78E
:102E4000074612E0F80707D0224633464046494677
:102E5000FFF7C8FD8046894622463346104619468C
:102E6000FFF7C0FD04460E467F10002FEAD1DDE9D2
:102E70000201BAF1000F42464B4602DAFFF7B2FDFB
:102E800001E0FFF721FE04460E460022284BFFF723
:102E9000A3FE03D84FF0FF30014607E00022254B88
:102EA00020463146FFF7F7FCFFF77DFE102409E0CE
:102EB000002C0ADB0A220023FFF7BCFC019B303206
:102EC0001A55641E50EA0102F2D1641C019AC4F141
:102ED000110314440F9A012A03D0012208430DD193
:102EE0000AE0084304D000204FF0110B0F9080E758
:102EF000A3EB0B056D1E0DE05B4504DD4FF00002FA
:102F000005F1010504E003DA4FF00002A5F1010527
:102F1000002AECD000980F99C0E90231C0E90045C1
:102F200086E70000000024400000F03F3000000071
:102F30000000F0430000E03F2DE9FF4F8BB08846D2
:102F40000546002606E025280BD0DDE90D12904746
:102F50006D1C761C28780028F5D10FB03046BDE8EE
:102F6000F08F0024A146A2460122AE4900E00443AE
:102F700015F8013F203B02FA03F00842F7D1287808
:102F80002A2810D06FF02F022878A0F130010929EB
:102F900015D809EB890102EB410144F0020400EB72
:102FA00001096D1CF0E758F8041B5FEA010903D51D
:102FB00044F40054C9F1000944F002046D1C28785F
:102FC0002E2817D115F8010F44F004042A280ED03A
:102FD0006FF02F022878A0F1300109290AD80AEBF6
:102FE0008A0102EB410100EB010A6D1CF2E758F87F
:102FF00004AB6D1C28786C280FD006DC4C2817D049
:1030000068280DD06A2814D104E0742810D07A28DA
:103010000FD10DE044F400140AE044F4801401E000
:1030200044F440146978814202D104F580146D1C87
:103030006D1C2878692865D006DC00288DD06328AF
:1030400027D0642806D15DE06E2808D073282AD0E6
:10305000752877D0DDE90D129047761CE0E0C4F3C7
:103060000250022809D003280DD0D8F800100428F7
:103070000DD00E6008F10408D2E0D8F80010F21765
:10308000C1E90062F6E7D8F800100E80F2E70E7092
:10309000F0E718F8041B8DF8001000208DF80100EF
:1030A000EB46012003E058F804BB4FF0FF30610706
:1030B0004FF0000701D40AE07F1C57450DDA874224
:1030C000FADB1BF807100029F6D106E07F1C8742C7
:1030D000FCDB1BF807100029F8D1DDE90D23A9EB73
:1030E00007008146214600F031FC3044C61904E057
:1030F000DDE90D121BF8010B90477F1EF8D2214627
:10310000484688E058F8040BC4F302514FF00A0B0C
:10311000032900D100B2042900D140B2002802DA0C
:1031200040422D2102E0210505D52B218DF82410E8
:10313000012104E006E0E10710D02021F6E708AF06
:10314000089113E058F8040BC4F302514FF00A0B36
:10315000032900D180B2042900D1C0B20021EEE7DA
:103160005946FFF751FB303107F8011D0028F7D110
:10317000ADEB070000F1200B600702D524F480348A
:1031800001E04FF0010ADA4502DDAAEB0B0000E096
:103190000020824600EB0B0108980144A9EB0100D6
:1031A0000A90E00306D4DDE90D2321460A9800F0D9
:1031B000CDFB06444FF0000908E009A911F8090009
:1031C000DDE90D12904709F10109761C089989453E
:1031D000F3DBE0030CD5DDE90D2321460A9800F06E
:1031E000B5FB064404E0DDE90D1230209047761C63
:1031F000BAF10001AAF1010AF5DC05E0DDE90D12E2
:1032000017F8010B9047761CBBF10001ABF1010BE5
:10321000F4DC0A982146DDE90D2300F073FB064437
:103220006D1C97E6092801002DE9FF4F95B09B46DC
:103230008946064600250FE2252877D10024274637
:10324000F84A0121059400E0044316F8013F203BB1
:1032500001FA03F01042F7D130782A2811D06FF02C
:103260002F033078A0F13002092A16D8059A44F0CD
:10327000020402EB820203EB42021044761C05902A
:10328000EFE759F8042B0592002A03DA504244F480
:103290000054059044F00204761C30782E2816D194
:1032A00016F8010F44F004042A280DD06FF02F0205
:1032B0003078A0F13003092B09D807EB870302EB24
:1032C0004303C718761CF3E759F8047B761C307863
:1032D0006C280FD006DC4C2817D068280DD06A283F
:1032E00014D104E0742810D07A280FD10DE044F4F2
:1032F00000140AE044F4801401E044F440147278AD
:10330000824202D104F58014761C761C307866283F
:103310000BD013DC582877D009DC002875D045285D
:10332000F6D04628F4D047281AD19DE118E063284A
:1033300035D0642879D0652812D195E1702873D0F2
:1033400008DC6728F1D069286FD06E280DD06F286F
:1033500006D1B5E073282CD0752875D0782874D0A4
:103360005A46179990476D1C75E1C4F30250022824
:1033700009D003280DD0D9F8001004280DD00D6015
:1033800009F1040967E1D9F80010EA17C1E9005210
:10339000F6E7D9F800100D80F2E70D70F0E719F8A4
:1033A000041B8DF8001000208DF80100EA46012072
:1033B00003E059F804AB4FF0FF3061074FF0000114
:1033C00002D40DE008F101018846B9420FDA8045C8
:1033D000F8DB1AF808100029F4D108E008F101011F
:1033E00088468142FADB1AF808100029F6D10598C0
:1033F0005B46A0EB080721463846179A00F0BDFA55
:10340000284400EB080507E04DE029E10DE01AF83B
:10341000010B5A4617999047B8F10108F7D25B465D
:1034200021463846179A13E142E00A220092C4F37B
:1034300002524FF0000A022A08D059F804CB032A9E
:103440004FEAEC710AD00DE029E02AE009F107010A
:1034500021F00702F2E802C1914609E00FFA8CFC64
:103460004FEAEC71042A03D14FFA8CFC4FEAEC715D
:10347000002907DA0A460021DCF1000C61EB0201A9
:103480002D2202E0220504D52B228DF804200122F2
:1034900003E0E20701D02022F7E7904659E00A2135
:1034A00002E010220DE010214FF0000A00910BE025
:1034B00010224FF0000A44F004040827009203E0B1
:1034C00008224FF0000A0092C4F30252022A05D0EB
:1034D00059F804CB0021032A08D009E009F10701BB
:1034E00021F00702F2E802C1914605E01FFA8CFCC8
:1034F000042A01D10CF0FF0C4FF00008220728D558
:10350000702806D0009B83F0100353EA0A0305D00D
:103510000EE040228DF80420012208E05CEA01025E
:1035200006D030228DF804208DF805000222904646
:10353000009B83F0080353EA0A030AD15CEA010204
:1035400001D1620705D530228DF804204FF0010823
:103550007F1E582804D034A003900EA802900DE0DE
:1035600036A0F9E753466046009AFFF763F98446B0
:103570000398825C0298401E029002705CEA01008F
:10358000F0D1029806A9081A00F1200A600702D5B6
:1035900024F4803400E00127574502DDA7EB0A0040
:1035A00000E0002000EB0A01009005984144401A19
:1035B0000590E00306D45B462146179A059800F073
:1035C000DCF90544002706E001A85A46C05D1799BA
:1035D00090476D1C7F1C4745F6DBE0030CD55B462E
:1035E0002146179A059800F0C8F9054404E03020F8
:1035F0005A46179990476D1C0099481E0090002963
:10360000F5DC08E0029802995A460078491C0291BC
:10361000179990476D1CBAF10001AAF1010AF1DC7B
:1036200065E1000009280100303132333435363786
:1036300038396162636465660000000030313233FE
:10364000343536373839414243444546000000009E
:1036500000F06AF90544761C307800287FF4ECAD60
:1036600019B02846BDE8F08F620700D4062709F19B
:10367000070222F0070CFCE80223E14603F00048B1
:103680005FEA080C02D00FF2702C0DE05FEA045CD8
:1036900002D50FF2682C07E05FEAC47C02D00FF27B
:1036A000602C01E0AFF2700C4FF0FF3823F00043C4
:1036B000CDF850C065280CD006DC452809D0462836
:1036C0001DD047283DD13DE0662818D067287ED11F
:1036D00038E00021112F01DB112000E0781CCDE93A
:1036E000000106A90EA8FFF775FBDDE90F010E9A90
:1036F00003910021009207F1010A04914DE04FF07F
:1037000000400097CDE9011006A90EA8FFF762FB63
:10371000DDE90F0203920E9B11990022DDF80CA047
:103720000093049211B9791C00EB010AB7EB0A006F
:1037300004D4C0F1FF3007F1010A0490AAEB07009E
:10374000019044E0012F00DA01270021112F01DD53
:10375000112000E03846CDE9000106A90EA8FFF7C8
:1037600039FBDDE90F010E9A0391002104910092CB
:10377000BA4621070CD40399514500DA8A46BAF1BA
:10378000010F05DD009AAAF10101515C302908D032
:10379000B84202DA10F1040F06DA0121CDE9011076
:1037A00015E0AAF10101E9E7002805DC04990144CC
:1037B0000491AAEB000102E0411C514500DD8A465C
:1037C0000499401A401C01904FF0004002902007DD
:1037D00004D40198504501DBCDF8048000208DF819
:1037E0004F0002980DF14F07B0F1004F25D02B206C
:1037F0000E9002984FF0020800280CDA4042029026
:103800002D200E9007E00A210298FEF7FDFF3031CF
:10381000029007F8011DB8F10001A8F10108F2DCDF
:1038200002980028EFD1791E0E980870307800F0C9
:10383000200040F0450007F8020D12A8C01B00F15F
:1038400007081498007800B1012000EB0A010198E4
:1038500001EBE07105984144401A401E0590E003D9
:1038600006D45B462146179A059800F086F8054471
:103870001498007818B15A46179990476D1CE003C8
:1038800024D55B462146179A059800F076F8054442
:103890001CE00498002807DBDDE90301884203DD12
:1038A0000098405C179901E0179930205A469047DC
:1038B000049805F10105401C04900198401E0190F8
:1038C00004D12E205A46179990476D1CBAF1000179
:1038D000AAF1010ADDDC05E017F8010B5A46179939
:1038E00090476D1CB8F10001A8F10108F4DC5B46BB
:1038F0002146179A0598ABE62D0000002B0000002A
:10390000200000002DE9F041044600251E46174620
:10391000880404D405E039462020B0476D1C641E9D
:10392000F9D52846BDE8F0812DE9F041044600258F
:103930001E461746880404D405E039462020B047C7
:103940006D1C641EF9D52846BDE8F0812DE9F041D3
:10395000044600251E469046C80301D5302700E0E6
:103960002027880404D505E041463846B0476D1C41
:10397000641EF9D52846BDE8F0812DE9F0410446E2
:1039800000251E469046C80301D5302700E02027B9
:10399000880404D505E041463846B0476D1C641ED6
:1039A000F9D52846BDE8F0810A68531C0B601070F9
:1039B00070470A68531C0B6010707047DC390008B0
:1039C000000000207C000000B42D0008583A0008D8
:1039D0007C000020FC050000C42D000800A24A0461
:1039E00000000000000000000102030406070809AF
:1039F00000000000000000000000000000000000C7
:103A000000000000000000000000000000000000B6
:103A100000000000000000000000000000000000A6
:103A20000000000000000000000000000001000095
:103A30000100000000000000000000000000000085
:103A40000000000000000000010203040102030462
:083A500006070809020406083C
:04000005080000ED02
:00000001FF

View File

@ -0,0 +1,75 @@
<html>
<body>
<pre>
<h1><EFBFBD>Vision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: <20><>Vision V5.39.0.0
Copyright (C) 2023 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: 11 11, 11, LIC=BUURY-I6RBI-637MB-2GGNN-QW6ZI-VM257
Tool Versions:
Toolchain: MDK-ARM Plus Version: 5.39.0.0
Toolchain Path: D:\Keil5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 6 (build 750)
Assembler: Armasm.exe V5.06 update 6 (build 750)
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
CPU DLL: SARMCM3.DLL V5.39.0.0
Dialog DLL: DCM.DLL V1.17.5.0
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.2.0.0
Dialog DLL: TCM.DLL V1.56.4.0
<h2>Project:</h2>
P:\2.<2E><><EFBFBD><EFBFBD>\8.<2E><>ѧ\B7.DS18B20<32>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD>\DS18B20<32><30><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>\USER\STM32.uvprojx
Project File Date: 08/13/2024
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil5\ARM\ARMCC\Bin'
Rebuild target 'Project'
compiling system_stm32f10x.c...
compiling stm32f10x_rcc.c...
assembling startup_stm32f10x_md.s...
compiling stm32f10x_it.c...
compiling led.c...
compiling oled.c...
compiling stm32f10x_adc.c...
compiling stm32f10x_i2c.c...
compiling core_cm3.c...
compiling stm32f10x_usart.c...
compiling stm32f10x_pwr.c...
compiling usart.c...
compiling sys.c...
compiling stm32f10x_rtc.c...
compiling ds18b20.c...
compiling stm32f10x_gpio.c...
compiling delay.c...
compiling misc.c...
compiling stm32f10x_bkp.c...
compiling stm32f10x_exti.c...
compiling main.c...
main.c(56): warning: #1-D: last line of file ends without a newline
}
main.c: 1 warning, 0 errors
compiling stm32f10x_flash.c...
compiling stm32f10x_tim.c...
linking...
Program Size: Code=11484 RO-data=7692 RW-data=48 ZI-data=2176
FromELF: creating hex file...
"..\OBJ\Project.axf" - 0 Error(s), 1 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: Keil
https://www.keil.com/pack/Keil.STM32F1xx_DFP.2.4.1.pack
Keil::STM32F1xx_DFP@2.4.1
STMicroelectronics STM32F1 Series Device Support, Drivers and Examples
<h2>Collection of Component include folders:</h2>
D:/Keil5/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include
<h2>Collection of Component Files used:</h2>
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View File

@ -0,0 +1,28 @@
--cpu Cortex-M3
"..\obj\main.o"
"..\obj\stm32f10x_it.o"
"..\obj\system_stm32f10x.o"
"..\obj\led.o"
"..\obj\ds18b20.o"
"..\obj\oled.o"
"..\obj\delay.o"
"..\obj\sys.o"
"..\obj\usart.o"
"..\obj\core_cm3.o"
"..\obj\startup_stm32f10x_md.o"
"..\obj\misc.o"
"..\obj\stm32f10x_gpio.o"
"..\obj\stm32f10x_rcc.o"
"..\obj\stm32f10x_usart.o"
"..\obj\stm32f10x_adc.o"
"..\obj\stm32f10x_tim.o"
"..\obj\stm32f10x_i2c.o"
"..\obj\stm32f10x_rtc.o"
"..\obj\stm32f10x_pwr.o"
"..\obj\stm32f10x_bkp.o"
"..\obj\stm32f10x_flash.o"
"..\obj\stm32f10x_exti.o"
--library_type=microlib --strict --scatter "..\OBJ\Project.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\Project.map" -o ..\OBJ\Project.axf

View File

@ -0,0 +1,16 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00010000 { ; load region size_region
ER_IROM1 0x08000000 0x00010000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x20000000 0x00005000 { ; RW data
.ANY (+RW +ZI)
}
}

View File

@ -0,0 +1,15 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00010000 { ; load region size_region
ER_IROM1 0x08000000 0x00010000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00005000 { ; RW data
.ANY (+RW +ZI)
}
}

View File

@ -0,0 +1,641 @@
Dependencies for Project 'STM32', Target 'Project': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::.\ARMCC
F (.\main.c)(0x66BB7C21)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\main.o --omf_browse ..\obj\main.crf --depend ..\obj\main.d)
I (..\HARDWARE\LED\led.h)(0x6047291A)
I (..\SYSTEM\sys\sys.h)(0x5D259E2C)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
I (..\SYSTEM\delay\delay.h)(0x66BB7AEF)
I (..\SYSTEM\usart\usart.h)(0x66BB7B87)
I (D:\Keil5\ARM\ARMCC\include\stdio.h)(0x5D9B3488)
I (..\HARDWARE\OLED\OLED.h)(0x66B62A0D)
I (D:\Keil5\ARM\ARMCC\include\stdlib.h)(0x5D9B3488)
I (..\HARDWARE\DS18B20\ds18b20.h)(0x66BB7A16)
I (D:\Keil5\ARM\ARMCC\include\string.h)(0x5D9B3487)
F (.\stm32f10x_it.c)(0x4EBEACB0)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_it.o --omf_browse ..\obj\stm32f10x_it.crf --depend ..\obj\stm32f10x_it.d)
I (stm32f10x_it.h)(0x4D99A426)
I (stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (system_stm32f10x.h)(0x4D783CAA)
I (stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (.\system_stm32f10x.c)(0x66BB7D11)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\system_stm32f10x.o --omf_browse ..\obj\system_stm32f10x.crf --depend ..\obj\system_stm32f10x.d)
I (stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (system_stm32f10x.h)(0x4D783CAA)
I (stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\HARDWARE\LED\led.c)(0x6047297C)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\led.o --omf_browse ..\obj\led.crf --depend ..\obj\led.d)
I (..\HARDWARE\LED\led.h)(0x6047291A)
I (..\SYSTEM\sys\sys.h)(0x5D259E2C)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\HARDWARE\DS18B20\ds18b20.c)(0x66BB7A03)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\ds18b20.o --omf_browse ..\obj\ds18b20.crf --depend ..\obj\ds18b20.d)
I (..\HARDWARE\DS18B20\ds18b20.h)(0x66BB7A16)
I (..\SYSTEM\sys\sys.h)(0x5D259E2C)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
I (..\SYSTEM\delay\delay.h)(0x66BB7AEF)
F (..\HARDWARE\OLED\oled.c)(0x66B38839)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\oled.o --omf_browse ..\obj\oled.crf --depend ..\obj\oled.d)
I (..\HARDWARE\OLED\oled.h)(0x66B62A0D)
I (..\SYSTEM\sys\sys.h)(0x5D259E2C)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
I (D:\Keil5\ARM\ARMCC\include\stdlib.h)(0x5D9B3488)
I (..\HARDWARE\OLED\oledfont.h)(0x66BB7103)
I (..\SYSTEM\delay\delay.h)(0x66BB7AEF)
F (..\SYSTEM\delay\delay.c)(0x66BB7AEF)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\delay.o --omf_browse ..\obj\delay.crf --depend ..\obj\delay.d)
I (..\SYSTEM\delay\delay.h)(0x66BB7AEF)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\SYSTEM\sys\sys.c)(0x5D259E2C)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\sys.o --omf_browse ..\obj\sys.crf --depend ..\obj\sys.d)
I (..\SYSTEM\sys\sys.h)(0x5D259E2C)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\SYSTEM\usart\usart.c)(0x66BB7B7D)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\usart.o --omf_browse ..\obj\usart.crf --depend ..\obj\usart.d)
I (..\SYSTEM\usart\usart.h)(0x66BB7B87)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
I (D:\Keil5\ARM\ARMCC\include\stdio.h)(0x5D9B3488)
I (D:\Keil5\ARM\ARMCC\include\stdarg.h)(0x5D9B3488)
F (..\CORE\core_cm3.c)(0x4C0C587E)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\core_cm3.o --omf_browse ..\obj\core_cm3.crf --depend ..\obj\core_cm3.d)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
F (..\CORE\startup_stm32f10x_md.s)(0x5943D098)(--cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1"
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
--pd "__UVISION_VERSION SETA 539" --pd "STM32F10X_MD SETA 1"
--list .\startup_stm32f10x_md.lst --xref -o ..\obj\startup_stm32f10x_md.o --depend ..\obj\startup_stm32f10x_md.d)
F (..\STM32F10x_FWLib\src\misc.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\misc.o --omf_browse ..\obj\misc.crf --depend ..\obj\misc.d)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_gpio.c)(0x4D79EEC6)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_gpio.o --omf_browse ..\obj\stm32f10x_gpio.crf --depend ..\obj\stm32f10x_gpio.d)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_rcc.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_rcc.o --omf_browse ..\obj\stm32f10x_rcc.crf --depend ..\obj\stm32f10x_rcc.d)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_usart.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_usart.o --omf_browse ..\obj\stm32f10x_usart.crf --depend ..\obj\stm32f10x_usart.d)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_adc.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_adc.o --omf_browse ..\obj\stm32f10x_adc.crf --depend ..\obj\stm32f10x_adc.d)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_tim.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_tim.o --omf_browse ..\obj\stm32f10x_tim.crf --depend ..\obj\stm32f10x_tim.d)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_i2c.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_i2c.o --omf_browse ..\obj\stm32f10x_i2c.crf --depend ..\obj\stm32f10x_i2c.d)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_rtc.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED
-ID:\Keil5\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
-D__UVISION_VERSION="539" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o ..\obj\stm32f10x_rtc.o --omf_browse ..\obj\stm32f10x_rtc.crf --depend ..\obj\stm32f10x_rtc.d)
I (..\STM32F10x_FWLib\inc\stm32f10x_rtc.h)(0x4D783BB4)
I (..\USER\stm32f10x.h)(0x4D783CB4)
I (..\CORE\core_cm3.h)(0x4D523B58)
I (D:\Keil5\ARM\ARMCC\include\stdint.h)(0x5D9B3487)
I (..\USER\system_stm32f10x.h)(0x4D783CAA)
I (..\USER\stm32f10x_conf.h)(0x5501900C)
I (..\STM32F10x_FWLib\inc\stm32f10x_adc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_bkp.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_can.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_cec.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_crc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dac.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_dma.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_exti.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_flash.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h)(0x50388DDC)
I (..\STM32F10x_FWLib\inc\stm32f10x_gpio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_i2c.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_pwr.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_rcc.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_sdio.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_spi.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_tim.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_usart.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h)(0x4D783BB4)
I (..\STM32F10x_FWLib\inc\misc.h)(0x4D783BB4)
F (..\STM32F10x_FWLib\src\stm32f10x_pwr.c)(0x4D783BB4)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork -I ..\HARDWARE\LED -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\USER -I ..\STM32F10x_FWLib\inc -I ..\CORE -I ..\HARDWARE\IIC -I ..\HARDWARE\DS18B20 -I ..\HARDWARE\EXTI -I ..\HARDWARE\OLED

View File

@ -0,0 +1,33 @@
..\obj\adc.o: ..\HARDWARE\ADC\ADC.C
..\obj\adc.o: ..\HARDWARE\ADC\adc.h
..\obj\adc.o: ..\SYSTEM\sys\sys.h
..\obj\adc.o: ..\USER\stm32f10x.h
..\obj\adc.o: ..\CORE\core_cm3.h
..\obj\adc.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\adc.o: ..\USER\system_stm32f10x.h
..\obj\adc.o: ..\USER\stm32f10x_conf.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\adc.o: ..\USER\stm32f10x.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\adc.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\adc.o: ..\SYSTEM\delay\delay.h

View File

@ -0,0 +1,34 @@
..\obj\adxl345.o: ..\HARDWARE\ADXL345\adxl345.c
..\obj\adxl345.o: ..\HARDWARE\ADXL345\adxl345.h
..\obj\adxl345.o: ..\SYSTEM\sys\sys.h
..\obj\adxl345.o: ..\USER\stm32f10x.h
..\obj\adxl345.o: ..\CORE\core_cm3.h
..\obj\adxl345.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\adxl345.o: ..\USER\system_stm32f10x.h
..\obj\adxl345.o: ..\USER\stm32f10x_conf.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\adxl345.o: ..\USER\stm32f10x.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\adxl345.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\adxl345.o: ..\SYSTEM\delay\delay.h
..\obj\adxl345.o: D:\Keil5\ARM\ARMCC\Bin\..\include\math.h

View File

@ -0,0 +1,2 @@
..\obj\core_cm3.o: ..\CORE\core_cm3.c
..\obj\core_cm3.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h

View File

@ -0,0 +1,31 @@
..\obj\delay.o: ..\SYSTEM\delay\delay.c
..\obj\delay.o: ..\SYSTEM\delay\delay.h
..\obj\delay.o: ..\USER\stm32f10x.h
..\obj\delay.o: ..\CORE\core_cm3.h
..\obj\delay.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\delay.o: ..\USER\system_stm32f10x.h
..\obj\delay.o: ..\USER\stm32f10x_conf.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\delay.o: ..\USER\stm32f10x.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\delay.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,33 @@
..\obj\ds18b20.o: ..\HARDWARE\DS18B20\ds18b20.c
..\obj\ds18b20.o: ..\HARDWARE\DS18B20\ds18b20.h
..\obj\ds18b20.o: ..\SYSTEM\sys\sys.h
..\obj\ds18b20.o: ..\USER\stm32f10x.h
..\obj\ds18b20.o: ..\CORE\core_cm3.h
..\obj\ds18b20.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\ds18b20.o: ..\USER\system_stm32f10x.h
..\obj\ds18b20.o: ..\USER\stm32f10x_conf.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\ds18b20.o: ..\USER\stm32f10x.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\ds18b20.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\ds18b20.o: ..\SYSTEM\delay\delay.h

View File

@ -0,0 +1,35 @@
..\obj\exti.o: ..\HARDWARE\EXTI\exti.c
..\obj\exti.o: ..\HARDWARE\EXTI\exti.h
..\obj\exti.o: ..\SYSTEM\sys\sys.h
..\obj\exti.o: ..\USER\stm32f10x.h
..\obj\exti.o: ..\CORE\core_cm3.h
..\obj\exti.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\exti.o: ..\USER\system_stm32f10x.h
..\obj\exti.o: ..\USER\stm32f10x_conf.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\exti.o: ..\USER\stm32f10x.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\exti.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\exti.o: ..\HARDWARE\LED\led.h
..\obj\exti.o: ..\HARDWARE\ADXL345\adxl345.h
..\obj\exti.o: ..\HARDWARE\Pedometer\Pedometer.h

View File

@ -0,0 +1,37 @@
..\obj\key.o: ..\HARDWARE\KEY\key.c
..\obj\key.o: ..\HARDWARE\KEY\key.h
..\obj\key.o: ..\SYSTEM\sys\sys.h
..\obj\key.o: ..\USER\stm32f10x.h
..\obj\key.o: ..\CORE\core_cm3.h
..\obj\key.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\key.o: ..\USER\system_stm32f10x.h
..\obj\key.o: ..\USER\stm32f10x_conf.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\key.o: ..\USER\stm32f10x.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\key.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\key.o: ..\SYSTEM\delay\delay.h
..\obj\key.o: ..\HARDWARE\OLED\OLED_I2C.h
..\obj\key.o: ..\HARDWARE\RTC\RTC.h
..\obj\key.o: D:\Keil5\ARM\ARMCC\Bin\..\include\string.h
..\obj\key.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdio.h

View File

@ -0,0 +1,32 @@
..\obj\led.o: ..\HARDWARE\LED\led.c
..\obj\led.o: ..\HARDWARE\LED\led.h
..\obj\led.o: ..\SYSTEM\sys\sys.h
..\obj\led.o: ..\USER\stm32f10x.h
..\obj\led.o: ..\CORE\core_cm3.h
..\obj\led.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\led.o: ..\USER\system_stm32f10x.h
..\obj\led.o: ..\USER\stm32f10x_conf.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\led.o: ..\USER\stm32f10x.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\led.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,39 @@
..\obj\main.o: main.c
..\obj\main.o: ..\HARDWARE\LED\led.h
..\obj\main.o: ..\SYSTEM\sys\sys.h
..\obj\main.o: ..\USER\stm32f10x.h
..\obj\main.o: ..\CORE\core_cm3.h
..\obj\main.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\main.o: ..\USER\system_stm32f10x.h
..\obj\main.o: ..\USER\stm32f10x_conf.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\main.o: ..\USER\stm32f10x.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\main.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\main.o: ..\SYSTEM\delay\delay.h
..\obj\main.o: ..\SYSTEM\usart\usart.h
..\obj\main.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdio.h
..\obj\main.o: ..\HARDWARE\OLED\OLED.h
..\obj\main.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdlib.h
..\obj\main.o: ..\HARDWARE\DS18B20\ds18b20.h
..\obj\main.o: D:\Keil5\ARM\ARMCC\Bin\..\include\string.h

View File

@ -0,0 +1,31 @@
..\obj\misc.o: ..\STM32F10x_FWLib\src\misc.c
..\obj\misc.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\misc.o: ..\USER\stm32f10x.h
..\obj\misc.o: ..\CORE\core_cm3.h
..\obj\misc.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\misc.o: ..\USER\system_stm32f10x.h
..\obj\misc.o: ..\USER\stm32f10x_conf.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\misc.o: ..\USER\stm32f10x.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\misc.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,35 @@
..\obj\oled.o: ..\HARDWARE\OLED\oled.c
..\obj\oled.o: ..\HARDWARE\OLED\oled.h
..\obj\oled.o: ..\SYSTEM\sys\sys.h
..\obj\oled.o: ..\USER\stm32f10x.h
..\obj\oled.o: ..\CORE\core_cm3.h
..\obj\oled.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\oled.o: ..\USER\system_stm32f10x.h
..\obj\oled.o: ..\USER\stm32f10x_conf.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\oled.o: ..\USER\stm32f10x.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\oled.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\oled.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdlib.h
..\obj\oled.o: ..\HARDWARE\OLED\oledfont.h
..\obj\oled.o: ..\SYSTEM\delay\delay.h

View File

@ -0,0 +1,37 @@
..\obj\pedometer.o: ..\HARDWARE\Pedometer\Pedometer.c
..\obj\pedometer.o: ..\HARDWARE\ADXL345\adxl345.h
..\obj\pedometer.o: ..\HARDWARE\Pedometer\Pedometer.h
..\obj\pedometer.o: ..\HARDWARE\EXTI\EXTI.h
..\obj\pedometer.o: ..\SYSTEM\sys\sys.h
..\obj\pedometer.o: ..\USER\stm32f10x.h
..\obj\pedometer.o: ..\CORE\core_cm3.h
..\obj\pedometer.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\pedometer.o: ..\USER\system_stm32f10x.h
..\obj\pedometer.o: ..\USER\stm32f10x_conf.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\pedometer.o: ..\USER\stm32f10x.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\pedometer.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\pedometer.o: D:\Keil5\ARM\ARMCC\Bin\..\include\math.h
..\obj\pedometer.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdlib.h
..\obj\pedometer.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdio.h

View File

@ -0,0 +1,36 @@
..\obj\rtc.o: ..\HARDWARE\RTC\rtc.c
..\obj\rtc.o: ..\SYSTEM\delay\delay.h
..\obj\rtc.o: ..\SYSTEM\sys\sys.h
..\obj\rtc.o: ..\USER\stm32f10x.h
..\obj\rtc.o: ..\CORE\core_cm3.h
..\obj\rtc.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\rtc.o: ..\USER\system_stm32f10x.h
..\obj\rtc.o: ..\USER\stm32f10x_conf.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\rtc.o: ..\USER\stm32f10x.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\rtc.o: ..\STM32F10x_FWLib\inc\misc.h
..\obj\rtc.o: ..\SYSTEM\usart\usart.h
..\obj\rtc.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdio.h
..\obj\rtc.o: ..\HARDWARE\RTC\rtc.h
..\obj\rtc.o: ..\HARDWARE\OLED\OLED_I2C.h

View File

@ -0,0 +1 @@
..\obj\startup_stm32f10x_md.o: ..\CORE\startup_stm32f10x_md.s

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\src\stm32f10x_adc.c
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_adc.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_adc.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_adc.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_adc.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_adc.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_adc.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_adc.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\src\stm32f10x_bkp.c
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_bkp.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_bkp.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_bkp.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_bkp.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_bkp.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_bkp.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_bkp.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\src\stm32f10x_exti.c
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_exti.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_exti.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_exti.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_exti.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_exti.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_exti.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_exti.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\src\stm32f10x_flash.c
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_flash.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_flash.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_flash.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_flash.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_flash.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_flash.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_flash.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\src\stm32f10x_gpio.c
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_gpio.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_gpio.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_gpio.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_gpio.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_gpio.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_gpio.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_gpio.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\src\stm32f10x_i2c.c
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_i2c.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_i2c.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_i2c.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_i2c.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_i2c.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_i2c.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_i2c.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_it.o: stm32f10x_it.c
..\obj\stm32f10x_it.o: stm32f10x_it.h
..\obj\stm32f10x_it.o: stm32f10x.h
..\obj\stm32f10x_it.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_it.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_it.o: system_stm32f10x.h
..\obj\stm32f10x_it.o: stm32f10x_conf.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_it.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_it.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\src\stm32f10x_pwr.c
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_pwr.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_pwr.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_pwr.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_pwr.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_pwr.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_pwr.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_pwr.o: ..\STM32F10x_FWLib\inc\misc.h

View File

@ -0,0 +1,31 @@
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\src\stm32f10x_rcc.c
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_rcc.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_rcc.o: ..\CORE\core_cm3.h
..\obj\stm32f10x_rcc.o: D:\Keil5\ARM\ARMCC\Bin\..\include\stdint.h
..\obj\stm32f10x_rcc.o: ..\USER\system_stm32f10x.h
..\obj\stm32f10x_rcc.o: ..\USER\stm32f10x_conf.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_adc.h
..\obj\stm32f10x_rcc.o: ..\USER\stm32f10x.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_can.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_cec.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_crc.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dac.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_dma.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_exti.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_flash.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_spi.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_tim.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_usart.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h
..\obj\stm32f10x_rcc.o: ..\STM32F10x_FWLib\inc\misc.h

Some files were not shown because too many files have changed in this diff Show More