Is there a option to "STICK UART PARITY" to 1 and 0 using the CMSIS Drivers...
This is all that is defined in the HEADER file;
/*----- USART Control Codes: Mode Parameters: Parity -----*/ #define ARM_USART_PARITY_Pos 12 #define ARM_USART_PARITY_Msk (3UL << ARM_USART_PARITY_Pos) #define ARM_USART_PARITY_NONE (0UL << ARM_USART_PARITY_Pos) ///< No Parity (default) #define ARM_USART_PARITY_EVEN (1UL << ARM_USART_PARITY_Pos) ///< Even Parity #define ARM_USART_PARITY_ODD (2UL << ARM_USART_PARITY_Pos) ///< Odd Parity
I need the "stick parity" to transmit a 9-bit value in the protocol to indicate it is an address BYTE. 0 = DATA
The transmit functions actually support 9-bit transmissions.
www.keil.com/.../group__usart__interface__gr.html
However it is currently not implemented for the NXP devices.
Would this solve your problem?
I would prefer the "STICK UART PARITY" feature, NXP on the LPC18xx does not do 9-bit transmissions properly.
Could you not, instead, choose a device with 9-bit support?
Still doesn't help that CMSIS won't support it, though.
:-(
Of course I would love to choose a device with good 9-bit support but I am way into the development cycle and a change at this point would set me back months! The LPC18xx does have 9-bit support but it is very poorly documented and anyway what good is it if CMSIS won't support it.
Is my best bet to modify the driver? (USART_LPC18xx.c and associated include files)
Scott,
Yes, of course you can add the functionality (9-bit mode) to the USART driver yourself.
In which time frame would you need a solution? I can ask the team if we have already a good starting point (from other devices) for that.
Reinhard
I prefer the STICKY BIT method and not 9-bit. Thanks for the help. I am attempting to add the STICKY BIT support to the driver.
Do you have to go through CMSIS?
Could you not just use your own code for this?
Don't NXP have a "driver" ?