主题中讨论的其他器件:HALCOGEN
工具与软件:
您好!
我无法找到 RTI 中断没有发生的原因。 我基本上需要在我的代码中使用一个1ms 计时器、以便用于计时事件。 我的代码很简单:
int main(void) { /* USER CODE BEGIN (3) */ systemInit(); /* Vector Interrupt Module Initialization */ vimInit(); /* Timer Initialization */ rtiInit(); rtiStartCounter(rtiREG1, rtiCOUNTER_BLOCK0); rtiEnableNotification(rtiREG1, rtiNOTIFICATION_COMPARE0); while(!(rtiREG1->INTFLAG & rtiNOTIFICATION_COMPARE0)); /* Serial Communication Initialization */ sciInit(); /* Forever Loop */ while(1) { /* Dummy code to transmit SCI data */ /* Buffer formation for data transfer */ Mucaa_data_ptr[0] = 0xAA; Mucaa_data_ptr[1] = 0x01; Mucaa_data_ptr[2] = 0x02; Mucaa_data_ptr[3] = 0x03; Mucaa_data_ptr[4] = 0x04; Mucaa_data_ptr[5] = 0x05; Mucaa_data_ptr[6] = 0x06; Mucaa_data_ptr[7] = 0x55; if((uint16)(Rti_ui_1ms_tmr - Mui_tx_cntr) > 2000) { Mui_tx_cntr = Rti_ui_1ms_tmr; /* Enable the SCI transmit interrupt for SCI3 module */ sciEnableNotification(sciREG3, SCI_TX_INT); /* Transmit data */ sciSend(sciREG3, 8, &Mucaa_data_ptr[0]); } } /* USER CODE END */ return 0; }
我打算每2秒发送一次 SCI 数据、我需要 RTI 计时器。 不幸的是,我 无法附加我的 halcogen 文件作为参考,因此放置图像。 变量"rti_ui_1ms_tmr"配置为在函数"rtiNotification"中递增、如下所示:
void rtiNotification(rtiBASE_t *rtiREG, uint32 notification) { /* enter user code between the USER CODE BEGIN and USER CODE END. */ /* USER CODE BEGIN (12) */ Rti_ui_1ms_tmr++; /* USER CODE END */ }
![](https://e2e.ti.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/908/0257.hal1.png)
![](https://e2e.ti.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/908/hal2.png)
![](https://e2e.ti.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/908/3872.hal3.png)
此致、
Chetan。