Other Parts Discussed in Thread: TM4C129XNCZAD
Programming is getting crashed after configuring PM7 (pinnumber 71 ) for PMW
void
TimerConfigure(uint32_t ui32Base, uint32_t ui32Config)
{
//
// Check the arguments.
//
ASSERT(_TimerBaseValid(ui32Base));
ASSERT((ui32Config == TIMER_CFG_ONE_SHOT) ||
(ui32Config == TIMER_CFG_ONE_SHOT_UP) ||
(ui32Config == TIMER_CFG_PERIODIC) ||
(ui32Config == TIMER_CFG_PERIODIC_UP) ||
(ui32Config == TIMER_CFG_RTC) ||
((ui32Config & 0xff000000) == TIMER_CFG_SPLIT_PAIR));
ASSERT(((ui32Config & 0xff000000) != TIMER_CFG_SPLIT_PAIR) ||
((((ui32Config & 0x000000ff) == TIMER_CFG_A_ONE_SHOT) ||
((ui32Config & 0x000000ff) == TIMER_CFG_A_ONE_SHOT_UP) ||
((ui32Config & 0x000000ff) == TIMER_CFG_A_PERIODIC) ||
((ui32Config & 0x000000ff) == TIMER_CFG_A_PERIODIC_UP) ||
((ui32Config & 0x000000ff) == TIMER_CFG_A_CAP_COUNT) ||
((ui32Config & 0x000000ff) == TIMER_CFG_A_CAP_COUNT_UP) || // Missing from OEM version
((ui32Config & 0x000000ff) == TIMER_CFG_A_CAP_TIME) ||
((ui32Config & 0x000000ff) == TIMER_CFG_A_CAP_TIME_UP) || // Missing from OEM version
((ui32Config & 0x000000ff) == TIMER_CFG_A_PWM)) &&
(((ui32Config & 0x0000ff00) == TIMER_CFG_B_ONE_SHOT) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_ONE_SHOT_UP) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_PERIODIC) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_PERIODIC_UP) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_CAP_COUNT) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_CAP_COUNT_UP) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_CAP_TIME) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_CAP_TIME_UP) ||
((ui32Config & 0x0000ff00) == TIMER_CFG_B_PWM))));
//
// Disable the timers.
//
HWREG(ui32Base + TIMER_O_CTL) &= ~(TIMER_CTL_TAEN | TIMER_CTL_TBEN);
//
// Set the global timer configuration.
//
HWREG(ui32Base + TIMER_O_CFG) = ui32Config >> 24;
//
// Set the configuration of the A and B timers and set the TxPWMIE bit.
// Note that the B timer configuration is ignored by the hardware in 32-bit
// modes.
//
if(NEW_TIMER_CONFIGURATION)
{
HWREG(ui32Base + TIMER_O_TAMR) = (((ui32Config & 0x000f0000) >> 4) |
(ui32Config & 0xff) |
TIMER_TAMR_TAPWMIE);
HWREG(ui32Base + TIMER_O_TBMR) = (((ui32Config & 0x00f00000) >> 8) |
((ui32Config >> 8) & 0xff) |
TIMER_TBMR_TBPWMIE);
}
else
{
HWREG(ui32Base + TIMER_O_TAMR) = ((ui32Config & 0xff) |
TIMER_TAMR_TAPWMIE);
HWREG(ui32Base + TIMER_O_TBMR) = (((ui32Config >> 8) & 0xff) |
TIMER_TBMR_TBPWMIE);
}
}
Configuration is done as below
"static PwmTimerTiva condoPwm(TIMER5_BASE, (TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_PWM | TIMER_CFG_B_PWM), TIMER_B, BSP_CLOCK_FREQUENCY);"
This behavior is only observed when the device is exposed to 10 degree celsius and Relative humidity of 50%, It is working fine with normal room temperature.
Can I know the operating range of relative humidity of this part?