XMC™ Forum Discussions
Dear Receiver,
Please refer to the attached file. I follow the step 1. 2. 3. and 4 to build a DAVE simple main project.
it's a very simple project but compiler fail.
Have you ever seen this kind of error messages ?! Could you help me to check it ?!
Thank you so much.
Show LessI am in background to my busy workload I am currently looking at adding XMC1400 Arduino Kit to the XMC-for-Arduino board package. However there is little existing documentation and any experiences are welcomed with the board and its usage.
I have mapping and know documentation errors listed on https://github.com/techpaul/XMC-for-Arduino/wiki/XMC1400-Arduino-Kit-Pinout-and-Issues
Show LessDear Receiver,
I am a DAVE 4.4 user. I brougt a new computer recently. So I install DAVE 4.5 today.
I found I can't enter "debug" mode in the DAVE 4.5. The error message is in the attached file.
I feel a little confused because I never met this situation in the DAVE 4.4.
Is there any issue in the DAVE4.5 ?! The test project I used is DAVE build-in sample code. (Easy Start Project.)
Thank you so much.
Show LessWe are working with an Infineon XMC4700 on PlatformIO.
Board: XMC4700 Relax Kit
PlatformIO 6.0.1
The project requires two serial interfaces. We see that the XMC has up to 6 Universal Serial Interface Channels, so we would like to use one of those as secondary serial interface. Is that possible?
We looked at the examples for serial communication but there is only for SPI and i2c.
Is HardwareSerial or at least SoftwareSerial implemented in XMC Arduino?
Thanks in advance!
Show Less
Hi,
We are using an Infineon XMC4700 board with PlatformIO 6.0.1
We would like to know if there are plans to implement access to GPIOs of the X1 and X2 pin headers, since the wiki says that only the Arduino shield pins are implemented.
Is it currently possible to use the XMCLib functions from PlatformIO?
Thanks in advance!
Show LessThis is my program:
#include "DAVE.h" //Declarations from DAVE Code Generation (includes SFR declaration)
XMC_VADC_RESULT_SIZE_t result[2];
uint8_t cnt=0;
void Adc_Measurement_Handler()
{
result[cnt] = ADC_MEASUREMENT_GetResult(&ADC_MEASUREMENT_0);
cnt = cnt+1;
if(cnt == 2)
{
cnt = 0;
}
}
int main(void)
{
DAVE_Init(); //(DAVE_STATUS_t)DIGITAL_IO_Init(&DIGITAL_IO_0) is called within DAVE_Init()
ADC_MEASUREMENT_StartConversion(&ADC_MEASUREMENT_0);
return (1);
}
when i read multiple signals, my output tends to get collapsed like the output for channel 1 is stored in result[1] instead of result[0] and likewise for the rest too. Kindly help me. I don't where my problem is Show Less
Hi
I am trying to generate a RSA 1024 bit key pair with an infineon XMC4500 f100k1024. At the moment, I generate the key pair externally with openssl. Then, to sign and verify data, I use the mbedtls package with no problem. Generating this RSA key pair with this package I had no success.
I tried to use the functions available on mbedtls to generate a key pair ( mbedtls_ctr_drbg_seed and mbedtls_rsa_gen_key), however, during one of the functions (on mbedtls_rsa_gen_key, when finding a Q prime I guess), the program ends up on a hard fault situation.
#define KEY_SIZE 1024
#define EXPONENT 65537
void create_rsa_keys() {
uint8_t error_found = 0;
mbedtls_rsa_context rsa;
mbedtls_rsa_init( &rsa, MBEDTLS_RSA_PKCS_V15, 0 );
const char *pers = "rsa_genkey";
mbedtls_entropy_context entropy;
mbedtls_ctr_drbg_context ctr_drbg;
mbedtls_ctr_drbg_init( &ctr_drbg );
mbedtls_entropy_init( &entropy );
error_found = mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, &entropy,
(const unsigned char *) pers, strlen( pers ));
if( error_found != 0 ){
error_found = 100;
}
error_found = mbedtls_rsa_gen_key( &rsa, mbedtls_ctr_drbg_random, &ctr_drbg, KEY_SIZE,
EXPONENT );
if( error_found != 0 ){
error_found = 100;
}
error_found = 1;
}
Can you tell if I am doing something wrong? There are any more packages that can be used to create RSA keys on a microcontroller unit?
Show LessI am using a TLE987 controller and I am fascinated with these ic, but now we will use the XMC industrial microcontrollers in other projects of my company and I would like to know where I can find the starting guides to program these microcontrollers with C/C++, tutorials or books where they explain how use all your peripherals.
Thanks for the help
Hi
I am writing an embedded application for Infineon XMC4500 microprocessor. I read data from different sensors and I send this data by means of bluetooth module in order to visualize them on the screen of Android smarphone. I use GraphView library.
I implemented BluetoothClass according to Android tutorial. If I get data from single sensor then everything is ok. But when I get data from multiple sensors unfortunately my application does not work smoothly.
Of course I am doing Bluetooth connection in seperate thread and I try to update UI in Handler. Tell me please what am I doing wrong. Of course I send data by means of JSON exchange format:
I send something like this from the microcontroller side:
sprintf(json_data, "{"
"\"m\":"
"["
"{"
"\"id\":a,"
"\"x\":%.2f,"
"\"y\":%.2f,"
"\"z\":%.2f"
"},"
"{"
"\"id\":g,"
"\"x\":%.2f,"
"\"y\":%.2f,"
"\"z\":%.2f"
"},"
"{"
"\"id\":m,"
"\"x\":%.2f,"
"\"y\":%.2f,"
"\"z\":%.2f"
"},"
"{"
"\"id\":t,"
"\"x\":%.2f"
"},"
"{"
"\"id\":h,"
"\"x\":%.2f"
"}"
"]"
"}", getAccelXf(), getAccelYf(), getAccelZf(), getGyroXf(), getGyroYf(), getGyroZf(), getMagnetXf(), getMagnetYf(), getMagnetZf(), readTemperature(), readHumidity());
As an attachment to my request I add pieces of source code:
public class ConnectedThread extends Thread
{
BluetoothSocket connectedSocket;
InputStream inStream;
OutputStream outStream;
public ConnectedThread(BluetoothSocket socket)
{
connectedSocket = socket;
InputStream tmpIn = null;
OutputStream tmpOut = null;
try
{
if (connectedSocket != null)
{
tmpIn = connectedSocket.getInputStream();
tmpOut = connectedSocket.getOutputStream();
mHandler.obtainMessage(Constants.MESSAGE_DEVICE_CONNECTED_SUCCESSFULLY).sendToTarget();
// Toast.makeText(activityContext, "connectedSocket != null", Toast.LENGTH_LONG);
}
}
catch (IOException e) {
mHandler.obtainMessage(Constants.MESSAGE_INPUT_OUTPUT_STREAM_UNAVAILABLE).sendToTarget();
e.printStackTrace();
}
inStream = tmpIn;
outStream = tmpOut;
}
public void run()
{
if(bluetoothAdapter.isDiscovering()){
bluetoothAdapter.cancelDiscovery();
}
byte[] buffer = new byte[4096];
int bytes;
String dupa;
while (true)
{
try {
if (inStream != null)
{
bytes = inStream.available();
if(bytes > 0 && bytes <= 200)
{
byte[] pocketBytes = new byte[bytes];
inStream.read(pocketBytes);
//Log.d(TAG, "setState() " + mState + " -> " + state);
System.out.println(pocketBytes.toString());
dupa = pocketBytes.toString();
System.out.println(dupa);
mHandler.obtainMessage(MESSAGE_READ, bytes, -1, pocketBytes).sendToTarget();
}
}
} catch (IOException e) {
mHandler.obtainMessage(Constants.MESSAGE_REMOTE_DEV_DISCONNECTED).sendToTarget();
break;
}
/*try
{
Thread.sleep(250);
} catch (InterruptedException e) {
e.printStackTrace();
}*/
}
}
/* Call this from the main activity to send data to the remote device */
public void write(byte[] bytes) {
try {
outStream.write(bytes);
} catch (IOException e) { }
}
/* Call this from the main activity to shutdown the connection */
public void cancel() {
try {
connectedSocket.close();
} catch (IOException e) { }
}
}
}
And after that I try to update UI in the Handler.
It does not work smoothly, morever sometimes it does not respond.
Could you please tell me what am I doing wrong azar echatrandom ?
Thx in advance.
Show LessHi,
I'm looking for what does it mean exactly: 'Output of the status bit multiplexer. It can be CCST1 or CCST2'. Where is this multiplexer? I don't find in the reference manual. How this multiplexer can be programmed? Or this means: when ST1 or ST2 changes Slice output will change? (ST0 in this case)
Is this signal 'timer_st' in PWM_CCU8 DAVE App?
This signal will include the dead time?
From the Interconnection section of the CCU8
Show Less