<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Can&amp;#39;t change UART parity</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/125505/can-t-change-uart-parity</link><description>How to change the parity bit on UART on NRF54L15? 
 prj.conf includes: 
 CONFIG_SERIAL=y CONFIG_UART_20_NRF_PARITY_BIT=y 
 DT overlay includes: 
 &amp;amp;uart20 { parity = &amp;quot;even&amp;quot;; }; 
 Also tried: 
 const struct uart_config uart_cfg = { .baudrate = 115200, </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 10 Apr 2026 08:30:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/125505/can-t-change-uart-parity" /><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/564764?ContentTypeID=1</link><pubDate>Fri, 10 Apr 2026 08:30:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e07970df-a44c-400e-b80d-e8b561ad9e5d</guid><dc:creator>Henri</dc:creator><description>&lt;p&gt;Hey, I found the issue. The nrfx driver does not support 7 data bits, even though the hardware does. I fixed this by changing:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:13.5px;font-weight:normal;line-height:18px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;if&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; (cfg-&amp;gt;data_bits != UART_CFG_DATA_BITS_8) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;return&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; -ENOTSUP;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;to&amp;nbsp;&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:13.5px;font-weight:normal;line-height:18px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#if &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;NRF_UARTE_HAS_FRAME_SIZE&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;switch&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; (cfg-&amp;gt;data_bits) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;case&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;UART_CFG_DATA_BITS_7&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uarte_cfg.frame_size = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;NRF_UARTE_FRAME_SIZE_7_BIT&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;break&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;case&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;UART_CFG_DATA_BITS_8&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uarte_cfg.frame_size = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;NRF_UARTE_FRAME_SIZE_8_BIT&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;break&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;default&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;return&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; -&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;ENOTSUP&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#else&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;if&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; (cfg-&amp;gt;data_bits != UART_CFG_DATA_BITS_8) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;return&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; -ENOTSUP;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#endif&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;in &lt;em&gt;uart_nrfx_uarte.c&lt;/em&gt;. Added to that I removed the line setting uarte_cfg.frame_size to 8.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/564760?ContentTypeID=1</link><pubDate>Fri, 10 Apr 2026 07:58:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91350dc0-5a17-4d74-9cfc-8dc7dda2a7c6</guid><dc:creator>Henri</dc:creator><description>&lt;p&gt;Hi Ressa,&lt;br /&gt;&lt;br /&gt;I&amp;#39;m having similar problems. I&amp;#39;m configuring uart dynamically using:&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:13.5px;font-weight:normal;line-height:18px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;static&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; uart_config uart_cfg = {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .baudrate = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1200&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .parity = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;UART_CFG_PARITY_EVEN&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .stop_bits = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;UART_CFG_STOP_BITS_1&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .data_bits = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;UART_CFG_DATA_BITS_7&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .flow_ctrl = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;UART_CFG_FLOW_CTRL_NONE&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;My logic analyzer correctly detects the serial data on rx (7E1, 1200):&lt;br /&gt;&lt;img class="align-left" style="float:left;max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Screenshot-2026_2D00_04_2D00_10-095015.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;But my uart callback raises parity and frame errors:&lt;/p&gt;
&lt;p&gt;&lt;img class="align-left" style="float:left;max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Screenshot-2026_2D00_04_2D00_10-095104.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Because of these issues I checked the CONFIG register as you recommended:&lt;br /&gt;```&lt;/p&gt;
&lt;p&gt;&amp;nbsp;nrfutil device x-read --x-family nrf54l --address 0x500C656C --width 32 --direct&lt;br /&gt;1057771197&lt;br /&gt;0x500C656C: 0000500E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |.P..|&lt;/p&gt;
&lt;p&gt;```&lt;br /&gt;`0101 0000 0000 1110` means:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A = 0 =&amp;gt; no hardware control&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2705.svg" title="White check mark"&gt;&amp;#x2705;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;BBB = 111 =&amp;gt; parity included&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2705.svg" title="White check mark"&gt;&amp;#x2705;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;C=0 =&amp;gt; one stop bity&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2705.svg" title="White check mark"&gt;&amp;#x2705;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;D=0 =&amp;gt; even parity&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2705.svg" title="White check mark"&gt;&amp;#x2705;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;EEEE=1000=8 =&amp;gt; 8 data bits&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/26a0.svg" title="Warning"&gt;&amp;#x26a0;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;F️=0 =&amp;gt; MSB end trimming&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2705.svg" title="White check mark"&gt;&amp;#x2705;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;G=1 =&amp;gt; timeout enabled&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2705.svg" title="White check mark"&gt;&amp;#x2705;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Seemingly the frame size seems to be the problem here. I&amp;#39;m not sure how to solve this...&lt;/p&gt;
&lt;p&gt;Manually writing EEEE=1111 fixed the issue (nrfutil device x-write --x-family nrf54l --address 0x500C656C --value 0x00004E0E --direct), but this isn&amp;#39;t a good solution.&lt;/p&gt;
&lt;p&gt;Any help would be greatly appreciated!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/554234?ContentTypeID=1</link><pubDate>Thu, 13 Nov 2025 09:51:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eafe6b7a-9644-455b-a5bf-a8f03d20cd65</guid><dc:creator>Ressa</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;It did change the data format as the terminal app I use on windows was not able to get the data correctly. But I have not checked it with logic analyzer on the pin directly to verify it bit by bit. I will check it with logic analyzer soon to verify the changes.&amp;nbsp;&lt;br /&gt;But for chip to chip communication, I2C is definitely preferred over UART.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Ressa&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/554180?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 18:47:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6ce3985-ec8d-4181-bcff-f28c10c938d1</guid><dc:creator>Steve Rathjen</dc:creator><description>&lt;p&gt;Thanks for checking!!&amp;nbsp; Yes, I tried &amp;quot;CONFIG_UART_USE_RUNTIME_CONFIGURE=y&amp;quot; too.&amp;nbsp; I never checked the register however, only the UART comms which were never using EVEN parity no matter what I tried.&amp;nbsp; Did you check that UART was actually using the parity ODD or EVEN as you selected?&lt;/p&gt;
&lt;p&gt;By moving things around on my design I&amp;#39;ve been able to free up an i2c port on the &amp;quot;other&amp;quot; device so I will be using i2c instead of UART... a better chip-to-chip protocol than UART, imo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/554170?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 16:49:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9476db09-669e-4cdd-9d3b-6b27b48bdc3a</guid><dc:creator>Ressa</dc:creator><description>&lt;p&gt;Hi Steve,&lt;br /&gt;&lt;br /&gt;When you tried to change the parity settings in run time, did you add &amp;quot;CONFIG_UART_USE_RUNTIME_CONFIGURE=y&amp;quot; ? By adding this line to prj.conf of l5_e1_sol source code from DevAcademy, I am able to change the UART settings in runtime and verify them by reading back directly the hardware register related to that, without adding this line to prj.conf it is not possible.&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1762965638559v1.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;in main file:&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1762966111386v13.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1762965673369v2.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1762966075804v12.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reading back directly the register settings value:&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1762965704905v3.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;Which exactly holds the settings we set in run time. I intentionally put odd parity as it is represented by 1 in register. Tried even and this bit turned to 0 as expected.&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:286px;max-width:312px;" height="286" src="https://devzone.nordicsemi.com/resized-image/__size/624x572/__key/communityserver-discussions-components-files/4/pastedimage1762965921932v7.png" width="312" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hopefully it helps to solve your issue.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Ressa&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/554155?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 15:07:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8479ef1b-5b2a-4b96-9f45-7e59b2dd9d63</guid><dc:creator>Ressa</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I will try to replicate it from scratch on my side. Will get back to you soon.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Ressa&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/554140?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 14:12:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:875c167b-10d7-4df1-a65d-3c879366f821</guid><dc:creator>Steve Rathjen</dc:creator><description>&lt;p&gt;Thanks again!&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve given up on UART with EVEN parity on the NRF54L15.&amp;nbsp; I already removed all the UART code from my project, so I&amp;#39;m unable to check the register.&lt;/p&gt;
&lt;p&gt;If I did check that register and the EVEN parity bit was set (or the &amp;quot;included&amp;quot; bit if that&amp;#39;s the bit we&amp;#39;re interested in) then what?&amp;nbsp; Or if the opposite was true and the bit was not set after all the different methods I used, then what?&lt;/p&gt;
&lt;p&gt;I also tried (before I gave up):&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;void uarte20_set_even_parity(void)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Stop ongoing transfers and disable peripheral before changing CONFIG&lt;br /&gt;&amp;nbsp; &amp;nbsp; //NRF_UARTE20-&amp;gt;TASKS_STOPRX = 1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; //NRF_UARTE20-&amp;gt;TASKS_STOPTX = 1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Wait for STOP tasks to take effect if needed (poll EVENTS_STOPPED), or ensure app logic is idle.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // If the peripheral has an ENABLE register, disable it first (optional but safe):&lt;br /&gt;&amp;nbsp; &amp;nbsp; NRF_UARTE20-&amp;gt;ENABLE = UARTE_ENABLE_ENABLE_Disabled;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Set parity to &amp;quot;Included&amp;quot; (even). These macros come from the device header:&lt;br /&gt;&amp;nbsp; &amp;nbsp; NRF_UARTE20-&amp;gt;CONFIG = (NRF_UARTE20-&amp;gt;CONFIG &amp;amp; ~UARTE_CONFIG_PARITY_Msk)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | (UARTE_CONFIG_PARITY_Included &amp;lt;&amp;lt; UARTE_CONFIG_PARITY_Pos);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Re-enable peripheral if you need to:&lt;br /&gt;&amp;nbsp; &amp;nbsp; NRF_UARTE20-&amp;gt;ENABLE = UARTE_ENABLE_ENABLE_Enabled;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;AND:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;void uarte20_set_even_parity_alt(void)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; //NRF_UARTE20-&amp;gt;TASKS_STOPRX = 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; //NRF_UARTE20-&amp;gt;TASKS_STOPTX = 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; NRF_UARTE20-&amp;gt;ENABLE = UARTE_ENABLE_ENABLE_Disabled;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; // Some headers also provide NRF_UARTE_PARITY_INCLUDED (nrfx naming).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; NRF_UARTE20-&amp;gt;CONFIG = (NRF_UARTE20-&amp;gt;CONFIG &amp;amp; ~UARTE_CONFIG_PARITY_Msk)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | (NRF_UARTE_PARITY_INCLUDED &amp;lt;&amp;lt; UARTE_CONFIG_PARITY_Pos);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; NRF_UARTE20-&amp;gt;ENABLE = UARTE_ENABLE_ENABLE_Enabled;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/554003?ContentTypeID=1</link><pubDate>Tue, 11 Nov 2025 16:00:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26a88f43-ce17-44a1-9d2a-1b7513f6aa90</guid><dc:creator>Ressa</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;After setting the parity mode, can you check the below register value by reading it directly from nRFUTIL, not sure if you are testing it on DK or not though, it gives good insight to see what is happening behind:&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/uarte.html#register.CONFIG"&gt;UARTE — Universal asynchronous receiver/transmitter with EasyDMA&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;The register address for UART20 setting is: 0x500C656C, by reading the value you can decode it by looking at above link. Or just share it here.&lt;br /&gt;&lt;br /&gt;&lt;img style="height:59px;max-height:59px;max-width:497px;" height="59" src="https://devzone.nordicsemi.com/resized-image/__size/994x118/__key/communityserver-discussions-components-files/4/pastedimage1762876425928v1.png" width="496" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;You can also directly write to this register using &lt;strong&gt;nrfutil&lt;/strong&gt;.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;* Regarding the below lines, I meant to use one of them at a time not both, so still worth to try:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;CONFIG_UART_INTERRUPT_DRIVEN=y&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;CONFIG_UART_ASYNC_API=y&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Ressa&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/553877?ContentTypeID=1</link><pubDate>Mon, 10 Nov 2025 18:56:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae78b730-c432-4b6e-b833-d66edd09792e</guid><dc:creator>Steve Rathjen</dc:creator><description>&lt;p&gt;I also tried using NRFX:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;#include &amp;quot;nrfx_uarte.h&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;static const nrfx_uarte_t uarte20 = NRFX_UARTE_INSTANCE(20);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;#define UART20_TX_PIN&amp;nbsp; NRF_GPIO_PIN_MAP(1,4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;#define UART20_RX_PIN&amp;nbsp; NRF_GPIO_PIN_MAP(1,5)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;void uart20_init(void)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; nrfx_uarte_config_t config = NRFX_UARTE_DEFAULT_CONFIG(UART20_TX_PIN, UART20_RX_PIN);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; config.baudrate = NRF_UARTE_BAUDRATE_115200;&amp;nbsp; &amp;nbsp;// choose your baud rate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; config.parity = NRF_UARTE_PARITY_INCLUDED;&amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;lt;&amp;lt;-- parity included = EVEN on Nordic&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; ret_code_t err = nrfx_uarte_init(&amp;amp;uarte20, &amp;amp;config, uarte20_event_handler);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; if (err != NRFX_SUCCESS) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* handle error */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;font-size:75%;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;But UART is still using parity=NONE.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/553871?ContentTypeID=1</link><pubDate>Mon, 10 Nov 2025 16:28:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4775dab-0e1f-4197-998b-28304f101ae5</guid><dc:creator>Steve Rathjen</dc:creator><description>&lt;p&gt;Thanks for your reply!&lt;/p&gt;
&lt;p&gt;I included:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;"&gt;CONFIG_UART_INTERRUPT_DRIVEN=y&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;"&gt;CONFIG_UART_ASYNC_API=y&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;Couldn&amp;#39;t receive anything on UART, so these made things worse.&amp;nbsp; Maybe because I&amp;#39;m using POLLING?&lt;/div&gt;
&lt;div&gt;so tried:&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style="font-family:courier new, courier;"&gt;CONFIG_UART_INTERRUPT_DRIVEN=n&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:courier new, courier;"&gt;CONFIG_UART_ASYNC_API=n&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;But no help.&amp;nbsp; Can receive and send, but not with EVEN parity.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Tried &amp;quot;secure&amp;quot; and &amp;quot;non-secure&amp;quot; builds... no change.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The Academy Lesson 5 mentions configuring the UART, but then it isn&amp;#39;t included in the exercise code.&amp;nbsp; Without any context, it isn&amp;#39;t clear how to configure with the method mentioned, which is different than changing it in Devicetree.&amp;nbsp; Two different methods, which one is correct?&amp;nbsp; .. it seems neither work for me.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;I can change the baud rate in Devicetree.&amp;nbsp; 115200 and 9600 both work.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't change UART parity</title><link>https://devzone.nordicsemi.com/thread/553857?ContentTypeID=1</link><pubDate>Mon, 10 Nov 2025 15:06:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6bf0aefd-1358-4ad7-94b6-91bcd645c0d4</guid><dc:creator>Ressa</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;Thanks for contacting us. Changing the parity for UART communication is supported. Please check DevAcademy to see if there is anything missing in your configuration.:&amp;nbsp;&lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/lessons/lesson-4-serial-communication-uart/topic/uart-driver/#uart_config"&gt;UART Driver - Nordic Developer Academy&lt;/a&gt;&lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/lessons/lesson-4-serial-communication-uart/topic/uart-driver/#uart_config"&gt;&lt;br /&gt;&lt;/a&gt;Also please try to have either of below lines in your configuration file, I don&amp;#39;t see any of them:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_UART_INTERRUPT_DRIVEN&lt;/span&gt;&lt;span&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_UART_ASYNC_API&lt;/span&gt;&lt;span&gt;=y&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Also try to use both secure and non secure builds&amp;nbsp;in build configuration, to see if you see any difference:&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1762786696975v1.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;* Are you able to change other settings like baud rate ? or it is just parity?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Ressa&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>