中级会员
 
- 积分
- 360
- 金钱
- 360
- 注册时间
- 2015-4-24
- 在线时间
- 37 小时
|
1金钱
话不多说。直接上代码:
/***定义一个结构体***/
typedef struct{
uint32_t val1;
uint32_t val2;
}*p_test,test;
test test_task; //定义一个结构体变量
//***关于结构体的操作***///
static void Task_Init(p_test p,uint32_t a) //a是随意设置的一个变量,在主函数调用的时候我给了200
{
p->val1 = Systicks; //val1指向Systicks,,,,,,(此处Systicks在定时器里每1个ms中断+1.)
p->val2 = a;
}
static void Task_Check(p_test p)
{
USART1_Send_Char((u8)p->val1%255); //将两个值发送到PC上进行观察
USART1_Send_Char((u8)p->val2%255);
}
主函数如下:
int main(void)
{
TIME_Init(7199,9);
USART1_Init(38400);
Task_Init(&test_task,200);
while(1)
{
Task_Check(&test_task);
}
}
目前遇到的问题是,PC机收到的数据,p->val1 = Systicks;这一行始终是0,(正常应该是不断+1才对)
p->val2 = a,这个的数据是正确的,PC收到200.。
经过测试没有弄懂这其中的缘由,,Systicks这个的量确实是在变化的,,求大神。。
|
|