Jump to content

Recommended Posts

Posted

Hi,

 

In my project I want to use UART on GPIO pin (8,10). I wrote a simple Java app to decet serial ports on my orange PC but it return only /dev/ttyS0 - Serial

 

Here is simple java code using rxtxlibrary..


package org.mbp;

import gnu.io.CommPortIdentifier;

/**
 *
 * @author Peter
 */
public class TestCom {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println("-------------------------------");
        System.out.println(System.getProperty("java.version"));
        System.out.println(System.getProperty("os.name"));

        java.util.Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers();
        while (portEnum.hasMoreElements()) {
            CommPortIdentifier portIdentifier = portEnum.nextElement();
            System.out.println(portIdentifier.getName() + " - " + getPortTypeName(portIdentifier.getPortType()));
        }

    }

    static String getPortTypeName(int portType) {
        switch (portType) {
            case CommPortIdentifier.PORT_I2C:
                return "I2C";
            case CommPortIdentifier.PORT_PARALLEL:
                return "Parallel";
            case CommPortIdentifier.PORT_RAW:
                return "Raw";
            case CommPortIdentifier.PORT_RS485:
                return "RS485";
            case CommPortIdentifier.PORT_SERIAL:
                return "Serial";
            default:
                return "unknown type";
        }
    }

}

Whe I run the code on orangepiPC I get only one UART which is /dev/ttyS0

 

-------------------------------
1.7.0_121
Linux
/dev/ttyS0 - Serial
 
 
 
Is there some configuration file to enable / disable UARTS? 
 
 
thank you.
Posted

Other UARTs are not enabled by default.

For Legacy, you need to edit the FEX.

For Mainline, where we have now overlays, you need to add them in the /boot/armbianEnv.txt :

overlays=sun8i-h3-uart1 sun8i-h3-uart2 sun8i-h3-uart3
Posted

Ok!

 

will this be fine? will try.. thank you

verbosity=7
console=both
machid=1029
bootm_boot_mode=sec
rootdev=UUID=74434014-190f-406c-9b73-2c99c49383ba
rootfstype=ext4
overlays=sun8i-h3-uart1 sun8i-h3-uart2 sun8i-h3-uart3
Posted

Hmm.. tryed but still get only one serial

cmd : cd '/home/projekt/NetBeansProjects//TestCom'; '/usr/bin/java'  -Dfile.encoding=UTF-8   -jar /home/projekt/NetBeansProjects//TestCom/dist/TestCom.jar 
-------------------------------
1.7.0_121
Linux
/dev/ttyS0 - Serial
Posted

Are you sure you are using latest Mainline ?

Please, provide output of "uname -a" and "ls -l /boot/dtb/overlay" and "dmesg | grep serial" and "cat /proc/device-tree/soc/serial@01c28400/status"

Posted

Thank you for your help!

 

here is

screenshot_193.jpg

 

for: ls -l /boot/dtb/overlay  

I don't have subdirectory dtb

screenshot_193.jpg

 

dmesg | grep serial

screenshot_193.jpg

 

 

cat /proc/device-..... (I don't have this folder)

screenshot_193.jpg

 

 

thank you for your help. I don't have much experience in linux but must do a project for thesis ;) ;(

Posted

 

Other UARTs are not enabled by default.

For Legacy, you need to edit the FEX.

For Mainline, where we have now overlays, you need to add them in the /boot/armbianEnv.txt :

Hi

Does this means that it could be possible to change the use of the GPIO pins "on the fly"

I mean without rebooting.

Posted

Hi

Does this means that it could be possible to change the use of the GPIO pins "on the fly"

I mean without rebooting.

 

Sure.  Just write a driver module that manipulates the proper bits in the setup registers, read the data sheet for your CPU and the kernel source code.  The "confidential" H3 data sheet is on the sunxi web site.  Apparently the H2 used on the opi zero is very close, but I have not found it's data sheet.  This is not something I would recommend for beginner programmers.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines