This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
客户打算将 N2HET 用作普通 IO 引脚、因为客户4357芯片的 GIO 引脚几乎全部占用、并且 IO 引脚作为输入不容易进行电线焊接。 但他在配置过程中遇到了以下问题:
1.客户打算将 N2HET2引脚配置为 IO 输入、将其下拉、并且没有开漏。 一旦检测到外部输入的高电压、它将被运行。
2.客户使用的芯片封装为 TMS5704357BZWTQ1R、物理引脚为"D3"、相应的 PINMUX 功能为"N2HET2[12]/MIBSPI2NENA"。 客户在数据表中"I/O 复用和控制模块(IOMM)"的功能选择中找到"复用输入的控制"、然后找到"PINMMR97[0]"并将其设置为输入。 有关详细信息、请参阅下图。
pinMuxReg->PINMUX[97] = SIGNAL_N2HET2_12_D3 | SIGNAL_N2HET2_13_D2 | SIGNAL_N2HET2_14_D1 | SIGNAL_N2HET2_15_K4; // n2het2[12]
hetREG2->GCR = ( 0x00000001U | (uint32)((uint32)1U << 24U)| (uint32)((uint32)1U << 16U)| (0x00020000U)); hetREG2->INTENAC = 0xFFFFFFFFU; hetREG2->INTENAS = 0x00000000U; hetREG2->PFR = (uint32)((uint32) 6U << 8U)| ((uint32) 0U); // Enable/Disable Parity check hetREG2->PCR = (uint32) 0x00000005U; /** - Fill HET RAM with opcodes and Data */ (void)memcpy((void *)hetRAM2, (const void *)het2PROGRAM, sizeof(het2PROGRAM)); //Setup prescaler values hetREG2->PFR = (uint32)((uint32) 6U << 8U)| ((uint32) 0U); // Set the default value of pin hetREG2->DOUT = (U32)((U32)0U << FORCED_UPDATE_PIN); // Set the N2HET2[3] pin as input hetREG2->DIR = (U32)((U32)0U << FORCED_UPDATE_PIN); // Enable the pull up/down. hetREG2->PULDIS = (U32)((U32)0U << FORCED_UPDATE_PIN); // Enable the pull down. hetREG2->PSL = (U32)((U32)0U << FORCED_UPDATE_PIN); //hetREG2->HRSH = (U32)((U32)1U << FORCED_UPDATE_PIN); //Set HET pins open drain enable hetREG2->PDR = (uint32) 0x00000000U; // Check the pin if high then update. if ((hetREG2->DIN & (0x1 << FORCED_UPDATE_PIN) ) == 1) { CPUUPDATE=1; }
此致、
樱桃周
您好、Cherry、
如果只使用 N2HET 引脚作为 GIO,则不必运行 hetInit(),其中 NHET 汇编代码被复制到 NHET RAM 并被执行。 在 HALCoGen 生成的 NHET 汇编代码中、N2HET2[12]用于边沿检测。
下面是使用 N2HET 引脚作为 GIO 的示例:
#include "het.h"
#include "Gio.h"
main(){
gioInit();
gioSetDirection (hetPORT2、0xFFFFFFF);//N2HET2[12]作为输入、其他为输出
如果((gioGetBit (hetPORT2、12)==1)
{
CPUPDATE=1;
}
}
N2HET2[12]:pinMuxReg ->PINMUX[97]= SIGNAL_N2HET2_12_D3 | SIGNAL_N2HET2_13_D2 | SIGNAL_N2HET2_14_D1 | SIGNAL_N2HET2_15_K4;
N2HET2[12]的这个引脚多路复用配置被用作输入是正确的。