void NVIC_Configuration(void)
{
#ifdef? VECT_TAB_RAM?
? /* Set the Vector Table base location at 0x20000000 */
? NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
#else? /* VECT_TAB_FLASH? */
? /* Set the Vector Table base location at 0x08000000 */
? NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);??
#endif
}
/*******************************************************************************
* Function Name? : Delay
* Description??? : Inserts a delay time.
* Input????????? : nCount: specifies the delay time length.
* Output???????? : None
* Return???????? : None
*******************************************************************************/
void Delay(vu32 nCount)
{
? for(; nCount != 0; nCount--);
}
下面是 EEPROM 24C16 的主函数:
#include "MYIIC.H"?
//FM24C16 操作函数
//注意 FM24C16 的最低工作电压不是 2.7V,而是 3.2V 左右,在 3.16V 时,不能正确操作芯
片
//正点原子@SCUT
//V1.1
//在 FM24C16 指定地址读出一个数据
//ReadAddr:开始读数的地址 0~2047?
//返回值 :读到的数据
u8 FM24C16_ReadOneByte(u16 ReadAddr)
{?????
?u8 temp=0;??? ???? ????????????????
??? IIC_Start();?
?IIC_Send_Byte(0XA0+((ReadAddr/256)<<1));?? //发送器件地址 0XAx,发送模式
?IIC_Wait_Ack();?
??? IIC_Send_Byte(ReadAddr%256);??????? //发送操作地址
?IIC_Wait_Ack(); ?
?IIC_Start();? ? ???