6. TPBasic_STM32F405RGT6的IIC使用¶
一、什么是TPBasic_STM32F405RGT6最小系统板
TPBasic_STM32F405RGT6最小系统板是基于STM32F405RGT6芯片开发制作的最小系统板,方便开发与集成使用。二、利用TPBasic_STM32F405RGT6最小系统板完成24C02的读写操作
1、具体要求
按键KEY0接在PC0上/按键KEY1接在PC1
24C02(IIC连接在PB8/PB9上面)
通过KEY1按键来控制24C02的写入,通过另外一个按键KEY0来控制24C02的读取。
2、所需器件
- TPBasic_STM32F405RGT6最小系统板 一块
- 杜邦线 若干根
- USB转TTL串口转换模块 一块
三、制作主要过程
1、制作流程
按键KEY0接在PC0上/按键KEY1接在PC1
通过KEY1按键来控制24C02的写入,通过另外一个按键KEY0来控制24C02的读取。
2、主要代码
#include "sys.h" #include "delay.h" #include "usart.h" #include "24cxx.h" #include "key.h" //要写入到24c02的字符串数组 const u8 TEXT_Buffer[]={"Explorer STM32F4 IIC TEST"}; #define SIZE sizeof(TEXT_Buffer) int main(void) { u8 key; u16 i=0; u8 datatemp[SIZE]; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数 uart_init(115200); //初始化串口波特率为115200 KEY_Init(); //按键初始化 AT24CXX_Init(); //IIC初始化 while(1) { key=KEY_Scan(0); if(key==KEY1_PRES)//KEY1按下,写入24C02 { AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE); } if(key==KEY0_PRES)//KEY0按下,读取字符串 { AT24CXX_Read(0,datatemp,SIZE); } i++; delay_ms(10); if(i==20) { LED0=!LED0;//提示系统正在运行 i=0; } } }