For a Cpu:MKL26Z128VFT4 part, I'm looking to use UART0 as HalfDuplex RS485.
In the registers I think this means setting
Uart0_S2: set LOOPS=RSRC=1
and then managing the single pin with
Uart0_C3:TXDIR 1 Tx Output else 0 Rx Input
I'm using KDS300 so in PEgenerate code for LoopMode - but now I get
Description | Resource | Path | Location | Type |
Generator: FAILURE: at line 1769: Error in including "Drivers\Common\AsynchroMasterLoopMode.inc" from directory C:\n\bin\Freescale\KDS_3.0.0\eclipse\ProcessorExpert\Repositories\Kinetis_Repository (file: Drivers\Kinetis\AsynchroSerial.drv) | Test2 | AScust | Processor Expert Problem |
So to make it work, I turn off PEgeneratr code for LoopMode - and then update the registers directly.
UART0_PDD_SetLoopMode(PeripheralBase, UART0_PDD_LOOP_MODE_RX_TO_TX_PIN)
UART0_PDD_SetTxPinDataDirection(PeripheralBase, UART0_C3_TXDIR_MASK)
I can't see how to disable the assignment of the UART0:Rx to a hardware pin.
Is there a more defined way of doing it. Thanks
Solved! Go to Solution.
Hello Neil,
I just get the hot fix for this issue from development team , please see the attachment.
Hope it helps
Have a great day,
Alice
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Ok - thanks.
Sounds like you have confirmed which layer the bug is.
Since AsyncrhroSerial - where the error is - uses the Serial_LDD, which can set the LoopMode.
So really this is a bug report.
Regards
Hello
I need confirm with the PE team whether this is a bug.
And about the component of "Serial_LDD" , you can configure the loop mode here :
Hope it helps
Have a great day
Alice
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Alice, I can see that the Serial_LDD as a standalone component can have its Loop_Mode set.
When its used by the AsycnhroSerial it doesn't seem that it can be overridden.
I would expect the AsynchroSerial to be able to make adjustments to it since it owns it.
Hello Neil,
I just get the hot fix for this issue from development team , please see the attachment.
Hope it helps
Have a great day,
Alice
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks Alice.
I'm not sure what to do with the hot_fix - will it be in the next release/update of PE?
I've just done an update which includes
PE for Kinetis 3.0.1.b150806
doesn't mention it.
Its not that important to me as I have a work around, good to know it has been updated though as its a nice hardware feature.
Hello Neil,
When use the component "AsycnhroSerial" , it is normal about the configuration "Serial_LDD" is gray.
The error is when configure the methods Loopmode to generate code , and i will create a SR for you , then report it to the PE team,
I will tell you .ASAP after i get reply .
Hope it helps
Alice
Hello Neil,
(1) In KDS, after you configure the PE with no errors , it should be no error when generate code .
So you can screenshot your PE configure view or send me your project , i will test it on my side .
(2) If you want the UART component do not generate code , or you want change the code , you can choose "Don't write generated component modules",
then you can change the code by hand.
Have a great day,
Alice
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Alice
Thankyou. Not sure that I've asked this correctly - so will repost the question.
However yes - when I disable LoopMode it generates code correctly.
Hello Neil,
Do you mean here :
if not , could your please screenshot yours , thank !
BR
Alice
Hello Alice
When I set the Serial_LDD methods Loopmode to generate code - it causes an error.
My KDS300 picture looks different than yours as below
I have it fixed so it doesn't do it - but reporting what looks like a bug, as I wouldn't expect any condition I can set in the UI to result in a failed PE Code Generation
Hello Neil,
Yes , when use the component of "AsynchroSerial" , there will be error when configure the methods Loopmode to generate code ,
and i will be going to confirm
And if you use the component of "Serial_LDD" , there will be no error :
Thank for your remainder !
Hope it helps
Alice