高中生
最后登录1970-1-1
在线时间 小时
注册时间2015-11-17
|
实验条件:野火ISO-MINI开发板
实验目的:通过KEY1(PC13)的EXIT中断,发送一个信号量给KEY2任务,然后写256byte数据到at24c02。
实验中的部分函数:
void Task_KEY_1(void *p_arg)
{
(void)p_arg; // 'p_arg' 2¢ûóDóÃμ½£¬·àÖ1±àòëÆ÷ìáê¾¾ˉ¸æ
Key1_Sem = OSSemCreate(0);
while (1)
{
OSSemPend(Key1_Sem , 0 , &Key1_Sem_err);
//Beep(BeepON);
//OSTimeDlyHMSM(0, 0,1,0);
//Beep(BeepOFF);
Key1_cnt ++;
printf("Task_KEY_1 have run %d\r\n",Key1_cnt);
sprintf ( LCD_testStr, "%d", Key1_cnt );
ILI9341_DispString_EN ( 200, Line(2), LCD_testStr, macBACKGROUND, macRED );
//I2C_EE_BufferRead(I2c_Buf_Read, EEP_Firstpage, 256);
I2C_EE_BufferWrite( I2c_Buf_Write, EEP_Firstpage, 256);//*******************出现问题。
}
}
void BSP_Init(void)
{
SystemInit();
SysTick_init();
LED1_GPIO_Config();
LED2_GPIO_Config();
LED3_GPIO_Config();
USART1_Config();
BEEP_GPIO_Config();
EXTI_Config_1();
EXTI_Config_2();
I2C_EE_Init();
I2C_Test();//可以顺利地执行野火的测试函数
LCD_Init();
ILI9341_GramScan ( 1 );
ILI9341_Clear ( 0, 0, 240, 320, macBACKGROUND);
ILI9341_DispString_EN ( 0, Line(1), " This is a lcd demo to display ascii", macBACKGROUND, macRED );
}
void I2C_EE_Init(void)
{
I2C_GPIO_Config();
I2C_Mode_Configu();
/* ¸ù¾Yí·Îļti2c_ee.hÖDμĶ¨òåà′Ñ¡ÔñEEPROMòaD′èëμÄμØÖ· */
#ifdef macEEPROM_Block0_ADDRESS
/* Ñ¡Ôñ EEPROM Block0 à′D′èë */
EEPROM_ADDRESS = macEEPROM_Block0_ADDRESS;
#endif
#ifdef macEEPROM_Block1_ADDRESS
/* Ñ¡Ôñ EEPROM Block1 à′D′èë */
EEPROM_ADDRESS = macEEPROM_Block1_ADDRESS;
#endif
#ifdef macEEPROM_Block2_ADDRESS
/* Ñ¡Ôñ EEPROM Block2 à′D′èë */
EEPROM_ADDRESS = macEEPROM_Block2_ADDRESS;
#endif
#ifdef macEEPROM_Block3_ADDRESS
/* Ñ¡Ôñ EEPROM Block3 à′D′èë */
EEPROM_ADDRESS = macEEPROM_Block3_ADDRESS;
#endif
}
问题:
当按键按下的时候,程序可以执行到写函数:I2C_EE_BufferWrite( I2c_Buf_Write, EEP_Firstpage, 256);
进入程序后,
第1步
第2步
第3步
一直死在这里,后面的软件也没有办法执行,请教大神指教一下,十分感谢!
|
|