|
楼主 |
发表于 2009-9-9 23:14:42
|
显示全部楼层
编了下面这个小测试程序,也跑不通。
char Test_ptr( PUINT32 ptr) {
printf("7 Come in, address is %LX, Data is %LX \n", ptr, (unsigned int32)*ptr);
delay_ms(10);
*ptr ++;
printf("8 Come in, address is %LX, Data is %LX \n", ptr, (unsigned int32)*ptr);
delay_ms(10);
return (0);
}
unsigned int32 *ptr_test;
unsigned int32 Temp_P_32;
main( ) {
Temp_P_32=0x11111111;
ptr_test = &Temp_P_32;
printf("1 Test 32bit data %LX, Address %LX \n", Temp_P_32, ptr_test);
Test_ptr( &Temp_P_32 ); //调用子程序,应该把变量加一;
printf("2 Test 32bit data %LX , Address %LX \n", Temp_P_32, ptr_test);
Test_ptr( ptr_test ); //调用子程序,应该把变量加一;
printf("3 Test 32bit data %LX , Address %LX , What in address %LX \n \n", Temp_P_32, ptr_test, *ptr_test);
while(1) {restart_wdt();}
}
上面子程序执行过后,变量没有加一。 |
|