TC登录出错问题总结

TC登录时主要查看几个重要服务:

 

 情况一:查找选定模块的许可证时出错

查看许可证日期是否过期,修改计算机名

 

 

 查看License 的时间和主机名,将计算机时间修改至到期之前。

将License服务重启

情况二:

 重启重要服务

情况三:TC登录报错 POM has not started

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很可能是因为`TIMER_PERIOD`的数据类型不匹配而导致设置定器计数值出错。在S9S12G128芯片中,定器计数器的计数值是一个16位无符号整数,范围是0x0000~0xFFFF。因此,如果`TIMER_PERIOD`的数据类型不是16位无符号整数,就会导致设置定器计数值出错。 要解决这个问题,可以将`TIMER_PERIOD`的数据类型改为16位无符号整数,即`unsigned int`或`uint16_t`。同,为了避免数据类型不匹配的问题,可以将定器计数值直接赋值给`TC7H`和`TC7L`寄存器,而不是使用`TC7`寄存器。具体代码如下: ``` #define TIMER_PERIOD 8000 // 定器计数值 void timer_init(void); interrupt VectorNumber_Vtimch7 void timer_isr(void); void main(void) { timer_init(); // 初始化定器 EnableInterrupts; // 开启全局中断 for(;;) { // 主循环中可以执行其他操作 } } void timer_init(void) { TSCR1 = 0x80; // 启动定器,使用内部总线钟 TSCR2 = 0x00; // 设置定钟分频系数为1,不使用输出比较功能 TIOS |= 0x80; // 设置定器7为输出比较模式 TC7H = TIMER_PERIOD >> 8; // 设置定器计数值的高8位 TC7L = TIMER_PERIOD & 0xFF; // 设置定器计数值的低8位 TIE |= 0x80; // 开启定器7的中断 } interrupt VectorNumber_Vtimch7 void timer_isr(void) { TFLG1 |= 0x80; // 清除定器7中断标志位 // 在这里执行需要定执行的操作 } ``` 在上述代码中,首先将`TIMER_PERIOD`的数据类型改为了`unsigned int`,并将其值设为8000,即定器计数值的1/1000。然后在`timer_init()`函数中,将定器计数值的高8位和低8位分别赋值给`TC7H`和`TC7L`寄存器。最后开启定器7的中断。 这样做可以避免数据类型不匹配的问题,同也可以提高代码的可读性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值