case about nRF9160 example serial_lte_modem GPIO_AT_commands about P0.26 P0.27

Hi,

1. In ncs v2.6.0 example serial_lte_modem, the level of the P0.26 P0.27 I/O port on the PCA10090 DK board is measurement  0V or 0.8V . Set the high level, normal should equal the VDD voltage 3.0V ,What causes the inconsistent external measurement voltage after the AT instruction is set here?

2. The following changes were made: Cut DK slats SB11 SB12 To modify the serial_lte_modem routine, remove the RTC CTS port with port P0.27P0.27 as the serial port, and disable serial flow control.

3. The command is as follows:


AT#XGPIOCFG=1,26
AT#XGPIOCFG=1,27
AT#XGPIO=0,26,1
AT#XGPIO=0,27,1

4.debug View the configuration of the GPIO0 register as follows:

Thank you for all your assistance.
Kind regards,
Peter.Min

Parents
  • Hi,

    How did you disable the HW flow control?

    And are you sure the solder bridges are completely cut?

    Have you tried to use other pins that are not sed for anything else on the DK, do you get the expected voltage on those?

    Best regards,

    Didrik

  • Hi Didrik Rokhaug,

    1.disabled HW like :

    /*
     * Copyright (c) 2021 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
     */
    
    / {
    	chosen {
    		ncs,slm-uart = &uart0;
    	};
    };
    
    &uart0 {
    	status = "okay";
    	current-speed = <115200>;
    	pinctrl-0 = <&uart0_default>;
    	pinctrl-1 = <&uart0_sleep>;
    	pinctrl-names = "default", "sleep";
    	/delete-property/ hw-flow-control;
    	/delete-property/ rts-pin;
    	/delete-property/ cts-pin;
    };
    
    /*
    &uart0 {
    	status = "okay";
    };
    */
    
    &uart2 {
    	compatible = "nordic,nrf-uarte";
    	current-speed = <115200>;
    	status = "disabled";
    	hw-flow-control;
    
    	pinctrl-0 = <&uart2_default_alt>;
    	pinctrl-1 = <&uart2_sleep_alt>;
    	pinctrl-names = "default", "sleep";
    };
    
    &i2c2 {
    	status = "disabled";
    };
    
    &pinctrl {
    	uart0_default: uart0_default {
    		group1 {
    			psels = <NRF_PSEL(UART_TX, 0, 29)>;
    		};
    		group2 {
    			psels = <NRF_PSEL(UART_RX, 0, 28)>;
    			bias-pull-up;
    		};
    	};
    
    	uart0_sleep: uart0_sleep {
    		group1 {
    			psels = <NRF_PSEL(UART_TX, 0, 29)>,
    				<NRF_PSEL(UART_RX, 0, 28)>;
    			low-power-enable;
    		};
    	};
    	uart2_default_alt: uart2_default_alt {
    		group1 {
    			psels = <NRF_PSEL(UART_RX, 0, 11)>;
    			bias-pull-up;
    		};
    		group2 {
    			psels = <NRF_PSEL(UART_TX, 0, 10)>,
    				<NRF_PSEL(UART_RTS, 0, 12)>,
    				<NRF_PSEL(UART_CTS, 0, 13)>;
    		};
    	};
    
    	uart2_sleep_alt: uart2_sleep_alt {
    		group1 {
    			psels = <NRF_PSEL(UART_TX, 0, 10)>,
    				<NRF_PSEL(UART_RX, 0, 11)>,
    				<NRF_PSEL(UART_RTS, 0, 12)>,
    				<NRF_PSEL(UART_CTS, 0, 13)>;
    			low-power-enable;
    		};
    	};
    };
    
    

    2.cut is ok

    3.LED1-LED4 test ok

    4.code is here

    8814.serial_lte_modem.zip

    Thank you for all your assistance.
    Kind regards,
    Peter.Min

Reply
  • Hi Didrik Rokhaug,

    1.disabled HW like :

    /*
     * Copyright (c) 2021 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
     */
    
    / {
    	chosen {
    		ncs,slm-uart = &uart0;
    	};
    };
    
    &uart0 {
    	status = "okay";
    	current-speed = <115200>;
    	pinctrl-0 = <&uart0_default>;
    	pinctrl-1 = <&uart0_sleep>;
    	pinctrl-names = "default", "sleep";
    	/delete-property/ hw-flow-control;
    	/delete-property/ rts-pin;
    	/delete-property/ cts-pin;
    };
    
    /*
    &uart0 {
    	status = "okay";
    };
    */
    
    &uart2 {
    	compatible = "nordic,nrf-uarte";
    	current-speed = <115200>;
    	status = "disabled";
    	hw-flow-control;
    
    	pinctrl-0 = <&uart2_default_alt>;
    	pinctrl-1 = <&uart2_sleep_alt>;
    	pinctrl-names = "default", "sleep";
    };
    
    &i2c2 {
    	status = "disabled";
    };
    
    &pinctrl {
    	uart0_default: uart0_default {
    		group1 {
    			psels = <NRF_PSEL(UART_TX, 0, 29)>;
    		};
    		group2 {
    			psels = <NRF_PSEL(UART_RX, 0, 28)>;
    			bias-pull-up;
    		};
    	};
    
    	uart0_sleep: uart0_sleep {
    		group1 {
    			psels = <NRF_PSEL(UART_TX, 0, 29)>,
    				<NRF_PSEL(UART_RX, 0, 28)>;
    			low-power-enable;
    		};
    	};
    	uart2_default_alt: uart2_default_alt {
    		group1 {
    			psels = <NRF_PSEL(UART_RX, 0, 11)>;
    			bias-pull-up;
    		};
    		group2 {
    			psels = <NRF_PSEL(UART_TX, 0, 10)>,
    				<NRF_PSEL(UART_RTS, 0, 12)>,
    				<NRF_PSEL(UART_CTS, 0, 13)>;
    		};
    	};
    
    	uart2_sleep_alt: uart2_sleep_alt {
    		group1 {
    			psels = <NRF_PSEL(UART_TX, 0, 10)>,
    				<NRF_PSEL(UART_RX, 0, 11)>,
    				<NRF_PSEL(UART_RTS, 0, 12)>,
    				<NRF_PSEL(UART_CTS, 0, 13)>;
    			low-power-enable;
    		};
    	};
    };
    
    

    2.cut is ok

    3.LED1-LED4 test ok

    4.code is here

    8814.serial_lte_modem.zip

    Thank you for all your assistance.
    Kind regards,
    Peter.Min

Children
Related