Hi ,
i just tried out to use the TC0 of ATSAME54 in my application. The 16 and 32 Bit CC0, CC1 registers seem to be only 8 bit usable instead of 16/32 Bit. The status register evaluate correct during program run, but can´t be set correctly during test.
Thanks and best regards
Thomas
First of all, thanks to your inquiry in Arm community.
We checked your issue and it seems that ATSAME53 is the Microchip SoC, which is out of our Arm community scope because we can only support the Arm IP products.
For personal curiosity, I searched the ATSAME54 datasheet [1], it explicitly shows that this SoC can support three TC modes:<quote>
Up to eight 16-bit Timers/Counters (TC) each configurable as:
– 16-bit TC with two compare/capture channels
– 8-bit TC with two compare/capture channels
– 32-bit TC with two compare/capture channels, by pairing two TCs
</quote>
So your issue may be that you don't configure the SoC Timer Counter as the 32-bit mode, but in 8-bit mode.
For details, please double check the datasheet.
[1]: www.microchip.com/.../SAM_D5x_E5x_Family_Data_Sheet_DS60001507G.pdf
Hi Zhifei Yang, i tried every type of initialisation. The display shows 8/16/32 Bit lenght in the data, but only the lowest 8 Bits change in the peripheral display. If i load the data into external variables the results are correct in 8/16/32 Bit values. I also can change the values to longer datatypes by hand, but it displays only the lowest 8 Bits.
Did you mean this specific component: ATSAME54P20A-AU? Or you can try to visit Integrated Circuit and search for the part number you are looking for. You'll get specifications and datasheets of the part. Hope this helps. :)
Don't know which specific part you are using. Try this to reach the very integrated circuit you opt for. You can get to know its characteristics, datasheets, and more. Hope this helps. :)
Hi,
that won´t help anyhow. I have all the datasheet aso. Its the peripheral simulation in the MDK, that doesn´t work. I use the 16 Bit Timer, have a 16 Bit (4Hex digit) display, but only the lowest 8 Bit do anything. In 8 Bit Timer these are 8Bit/2hex Digits, in 32Bit there are 32Bit/8 Hex digits, but only the lowest 8 Bit change, all other bits are displayed as 0. The hardware works with the correct data, but i can´t use the simulation. I gave this to you as a hint, that you can correct this bug, instead of learning how to get and read datasheets.