XMC™ Forum Discussions
Hi,
I have "XMC14_3300W_TPBiDi" code then I need to use more ADC and then the ADC are gererrate with LLD_conf_code.
How to generate and re-configuration LLD_conf_code in Dave?
Thanks and Best regards
Rattana Le
i push 'file' inside Dave afterthan i push "import" afterthan i select "DALIXVR" file but i did not select .Anyone help me please
What are the limitations of using TDI & TRST pins with a CAN controller?
CAN NODE. The Datasheet is sparse on info.
Hello,
I have a question regarding a this function :
uint32_t SYSTIMER_CreateTimer ( uint32_t period, SYSTIMER_MODE_t mode, SYSTIMER_CALLBACK_t callback, void *args)
And this is an example in how to use it:
TimerId = (uint32_t)SYSTIMER_CreateTimer(ONESEC,SYSTIMER_MODE_PERIODIC (void*)LED_Toggle_EverySec, NULL);
But I don't quite understand if I can use it with a callback function which return value for example (uint16_t *)LED_UART) and do you know if the part "void *args" is for the variable of return of the callback function?
If yes, how will it be writen?
Best regards,
Show Less
Hi everyone.
Due to the apocalipchip (the chip shortage), we will use different packages to run the same code. We need to identify the package to avoid make different firmware for each package.
Does anybody know how to idenfy the package by code?
We've found this register, that has different values depending on the package, but in the documentation is not listed the values for each package:
Thank you.
Show LessHi everyone
I'm using the CCU8 symmetric, with 50% of PWM and dead time of 400ns, for the High side, and for the Low side the same thing.
But when I want to stop PWM, I use PWM_CCU8_Stop(&PWM_CCU8_0), always one of the pins remains at a high level, and for the Half Bridge, which I'm using, this is a big problem, I need the GPIOs to be at level 0, after command PWM_CCU8_Stop(&PWM_CCU8_0) .
I already tried to force the GPIO to level 0 using LLD with the commands
XMC_GPIO_SetOutputLow(XMC_GPIO_PORT0,0);
XMC_GPIO_SetOutputLow(XMC_GPIO_PORT0,1);
But I was not successful. I did other methods and I couldn't.
Can you help me with this?
Best regards
Show Lessi found link DALI software stack but i can not dowland DALI library.i am wating your help!
Link:https://community.infineon.com/t5/DAVE/DALI-2-0-Control-Gear-Stack-library-for-XMC/m-p/308369#M5235
Show Less
Hello members,
I have Faced the Issue when
a) While flashing Hex file using XMC Flasher Tool
b) While Debugging with Dave IDE 4.5.0 version
I Am using the XMC1302 T038X200AB MCU
Flash Memory 200KB
Am using this debugger : KIT_XMC_LINK_SEGGER_V1
Please find the below screen shots
I need the solution ASAP!!!!!!
Best regards
Karthik
Show LessStruggling with this one if anyone can help?
I'm simply trying to detect the receive of a Remote Request CAN frame from another CAN device.
I've setup a Transmit Object, and turned on the receive enable, remote request receive enable etc, but nothing seems to come through the message object when a Remote Frame is sent to this device. I've looked at various examples, but as far as I can tell nothing is suitable to the simple task of detecting a Remote Request. Code as below, is there anything obvious I'm missing? I realise the Receive Interrupt won't work for a Remote Request, but surely something must indicate a Remote Frame has been received?
#include <stdio.h>
#include "xmc_gpio.h"
#include "xmc_can.h"
#include "serial.h"
#define LED1 P4_5
// MCAN Node 1
#define CAN_TXD P3_10
#define CAN_RXD P3_12
#define CAN_FREQUENCY 144000000
/* CAN Bit time */
const XMC_CAN_NODE_NOMINAL_BIT_TIME_CONFIG_t baud =
{
.can_frequency = CAN_FREQUENCY,
.baudrate = 500000,
.sample_point = 8000,
.sjw = 1,
};
/* CAN message */
XMC_CAN_MO_t CAN_message =
{
.can_mo_ptr = CAN_MO0,
.can_priority = XMC_CAN_ARBITRATION_MODE_IDE_DIR_BASED_PRIO_2,
.can_identifier = 0xff,
.can_id_mask = 0xff,
.can_id_mode = XMC_CAN_FRAME_TYPE_STANDARD_11BITS,
.can_ide_mask = 1,
.can_data_length = 2,
.can_mo_type = XMC_CAN_MO_TYPE_TRANSMSGOBJ
};
int main(void)
{
serial_init();
printf("Waiting for CAN messages\n");
/*Configure CAN Module*/
XMC_CAN_InitEx(CAN, XMC_CAN_CANCLKSRC_FPERI, CAN_FREQUENCY);
/*Configure CAN Node baudrate*/
XMC_CAN_NODE_NominalBitTimeConfigure(CAN_NODE0, &baud);
XMC_CAN_NODE_EnableConfigurationChange(CAN_NODE0);
XMC_CAN_NODE_SetInitBit(CAN_NODE0);
/* Configure CAN NODE input pin */
XMC_GPIO_SetMode(CAN_RXD, XMC_GPIO_MODE_INPUT_TRISTATE);
XMC_CAN_NODE_SetReceiveInput(CAN_NODE0, CAN_NODE0_RXD_P3_12);
/*Message Configuration*/
XMC_CAN_MO_Config(&CAN_message);
/*Allocate MO in Node List*/
XMC_CAN_AllocateMOtoNodeList(CAN, 0, 0);
/*Enable Receive interrupt */
XMC_CAN_MO_EnableEvent(&CAN_message, XMC_CAN_MO_EVENT_RECEIVE);
//bjx----------------------------------------------------------
XMC_CAN_FIFO_EnableRemoteMonitoring(&CAN_message);
//XMC_CAN_FIFO_EnableForeignRemoteRequest(&CAN_message);
//bjx----------------------------------------------------------
XMC_CAN_NODE_DisableConfigurationChange(CAN_NODE0);
XMC_CAN_NODE_ResetInitBit(CAN_NODE0);
/* Configure CAN NODE output pin */
XMC_GPIO_SetMode(CAN_TXD, XMC_GPIO_MODE_OUTPUT_PUSH_PULL | P3_10_AF_CAN_N0_TXD);
/* Configure LED pin */
XMC_GPIO_SetMode(LED1, XMC_GPIO_MODE_OUTPUT_PUSH_PULL);
//bjx======================================================================================
while(1)
{
//--------------------------------------------------------------------------------------
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_STATUS_RX_PENDING == XMC_CAN_MO_STATUS_RX_PENDING)
{// rx pending
// Clear the flag
XMC_GPIO_ToggleOutput(LED1);
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_RESET_STATUS_RX_PENDING);
}// rx pending
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_STATUS_TX_PENDING == XMC_CAN_MO_STATUS_TX_PENDING)
{// rx pending
// Clear the flag
XMC_GPIO_ToggleOutput(LED1);
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_RESET_STATUS_TX_PENDING);
}// rx pending
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_STATUS_RX_UPDATING == XMC_CAN_MO_STATUS_RX_UPDATING)
{// rx pending
// Clear the flag
XMC_GPIO_ToggleOutput(LED1);
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_STATUS_RX_UPDATING);
}// rx pending
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_STATUS_RX_TX_SELECTED == XMC_CAN_MO_STATUS_RX_TX_SELECTED)
{// rx pending
// Clear the flag
XMC_GPIO_ToggleOutput(LED1);
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_STATUS_RX_TX_SELECTED);
}// rx pending
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_STATUS_TX_REQUEST == XMC_CAN_MO_STATUS_TX_REQUEST)
{// rx pending
// Clear the flag
XMC_GPIO_ToggleOutput(LED1);
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_STATUS_TX_REQUEST);
}// rx pending
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_STATUS_TX_ENABLE0 == XMC_CAN_MO_STATUS_TX_ENABLE0)
{// rx pending
// Clear the flag
XMC_GPIO_ToggleOutput(LED1);
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_STATUS_TX_ENABLE0);
}// rx pending
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_STATUS_TX_ENABLE1 == XMC_CAN_MO_STATUS_TX_ENABLE1)
{// rx pending
// Clear the flag
XMC_GPIO_ToggleOutput(LED1);
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_STATUS_TX_ENABLE1);
}// rx pending
if(XMC_CAN_MO_GetStatus(&CAN_message) & XMC_CAN_MO_RESET_STATUS_NEW_DATA == XMC_CAN_MO_RESET_STATUS_NEW_DATA)
{// newdat
// Clear the flag
XMC_CAN_MO_ResetStatus(&CAN_message,XMC_CAN_MO_RESET_STATUS_NEW_DATA);
}// newdat
//--------------------------------------------------------------------------------------
}
//bjx======================================================================================
}
Show Less