Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS0714 主题中讨论的其他器件:HALCOGEN
工具/软件:Code Composer Studio
大家好、我正在尝试使用 CAN 引脚作为 GIO。 我找到了代码并了解了如何将 TMS570LS 的 CAN_3用作 GIO 输出、但我不知道如何将寄存器集的值用作代码上的输入。 我使用以下函数代码将 CAN3寄存器设置为输出:
int SOC (int value){ 如果(value==1){ canREG3->TIOC =(UINT32)((UINT32) 1U <<18U) |(uint32)((uint32) 1U <<17U) |(uint32)((uint32) 0U <<16U) |(uint32)((uint32) 0U << 3U) |(uint32)((uint32) 1U <<2U) |(uint32)((uint32) 1U <<1U); SOCbit=1; } 否则、如果(value==0){ canREG3->TIOC =(UINT32)((UINT32) 1U <<18U) |(uint32)((uint32) 1U <<17U) |(uint32)((uint32) 0U <<16U) |(uint32)((uint32) 0U << 3U) |(uint32)((uint32) 1U <<2U) |(uint32)((uint32) 0U << 1U); SOCbit=0; } 返回 SOCbit; }
使用卤素并检查 TRM 第24.17.31节、我将 CAN3_RX 设置为 GIO 输入:
canREG3->RIOC =(UINT32)((UINT32)0U <<18U) |(uint32)((uint32) 0U <<17U) |(uint32)((uint32) 1U <<16U) |(uint32)((uint32) 0U << 3U) |(uint32)((uint32) 0U <<2U) |(uint32)((uint32) 0U << 1U);
我的问题是、如何查看电子产品中是否有0或1? 在读取 TMR 部分24.27.31时、我假设我必须使用寄存器 CANREG3的位0、但我如何检查代码中的该位?
我无法写入:
canREG3->RIOC (UINT32)((UINT32)<<0U)