您尚未登录。

#1 Re: 全志 SOC » pwm问题 » 2022-04-11 18:20:14

主要问题在输出脉冲的个数
-----这个问题解决了吗?

#2 全志 SOC » T507 能否设置PWM开启每次只输出一个方波 » 2022-04-11 17:59:51

swhkt
回复: 2

目前我们再T507上面准备点亮3528的RGB全彩灯,改灯是采用归零码码的方式控制。
      1.直接用GPIO控制,时序达不到要求,GPIO翻转的时间,需要3us。
      2.板子的spi接口也用完了。
      3.所以准备用PWM去控制,但是开启PWM是连续的方波,有没有什么办法可以设置开启值发送一个方波。3528时序.png

#3 全志 SOC » T507-Android10 按home按键后,屏幕左侧显示异常 » 2021-12-29 10:52:40

swhkt
回复: 0

屏幕为5寸,分辨为800X480,DPI设置120,按home按键后,屏幕左侧显示异常,如附件图片,过一会会消失,DPI设置为160没有问题。
   _20211229-1052.png

#4 全志 SOC » Android10 写sys/class下面的节点文件报错 » 2021-11-25 18:26:34

swhkt
回复: 0

目前我在驱动创建了一个节点,在setting app 去写这个节点文件,报错如下,这个节点的权限 已经是777,selinux设为了Permissive,log中的avc警告也全解决了,在adb下面使用echo 可以写成功,自己写的linux应用也是可以写成功,就是app写不成功。还有我把代码放在RK平台运行,app也是可以写成功的。大神们还有什么思路吗?





25 16:04:09.396  2074  2188 E PowerManagerService: Holding wake lock suspend blocker
11-25 16:04:09.486  4280  4280 E UsbSettings: hkt onPreferenceChange objValue = true
11-25 16:04:09.486  4280  4280 E UsbSettings: hkt onPreferenceChange mMode = 0
11-25 16:04:09.490  4280  5011 E UsbSettings: start run mMode= 0
11-25 16:04:09.495  4280  5011 W System.err: java.io.IOException: write failed: EPERM (Operation not permitted)
11-25 16:04:09.496  4280  5011 W System.err:    at libcore.io.IoBridge.write(IoBridge.java:544)
11-25 16:04:09.496  4280  5011 W System.err:    at java.io.FileOutputStream.write(FileOutputStream.java:392)
11-25 16:04:09.496  4280  5011 W System.err:    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
11-25 16:04:09.497  4280  5011 W System.err:    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
11-25 16:04:09.497  4280  5011 W System.err:    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
11-25 16:04:09.497  4280  5011 W System.err:    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
11-25 16:04:09.498  4280  5011 W System.err:    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
11-25 16:04:09.498  4280  5011 W System.err:    at java.io.BufferedWriter.flush(BufferedWriter.java:254)
11-25 16:04:09.498  4280  5011 W System.err:    at com.android.settings.UsbSetting.Write2File(UsbSetting.java:179)
11-25 16:04:09.499  4280  5011 W System.err:    at com.android.settings.UsbSetting$sysFileOperation.run(UsbSetting.java:277)
11-25 16:04:09.499  4280  5011 W System.err:    at java.lang.Thread.run(Thread.java:919)
11-25 16:04:09.501  4280  5011 W System.err: Caused by: android.system.ErrnoException: write failed: EPERM (Operation not permitted)
11-25 16:04:09.502  4280  5011 W System.err:    at libcore.io.Linux.writeBytes(Native Method)
11-25 16:04:09.502  4280  5011 W System.err:    at libcore.io.Linux.write(Linux.java:294)
11-25 16:04:09.502  4280  5011 W System.err:    at libcore.io.ForwardingOs.write(ForwardingOs.java:241)
11-25 16:04:09.502  4280  5011 W System.err:    at libcore.io.BlockGuardOs.write(BlockGuardOs.java:416)
11-25 16:04:09.502  4280  5011 W System.err:    at libcore.io.ForwardingOs.write(ForwardingOs.java:241)
11-25 16:04:09.502  4280  5011 W System.err:    at libcore.io.IoBridge.write(IoBridge.java:539)
11-25 16:04:09.503  4280  5011 W System.err:    ... 10 more
11-25 16:04:09.505  4280  5011 E UsbSettings: hkt111111 config=1
11-25 16:04:09.518  1795  1795 V audio_hw_primary: out_set_parameters: routing=2
11-25 16:04:09.521  4280  4280 E UsbSettings: hkt mode=1

#6 Re: 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 13:47:30

哇酷小二 说:

@swhkt
那先飞线测试吧,你的dts如果配了四线,那么按理CTS就是控制485的收发。等你好消息。

硬件改不了。如果能修改硬件,我们都可以直接把485芯片的ID直接接到TX去,让硬件自己控制。

#7 Re: 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 13:40:51

cube 说:
swhkt 说:
哇酷小二 说:

应该是PH8 CTS控制RS485收发。

那按硬件的接法我们已经没有办法用全志现成的dts配置了? 只能把这个控制当是普通的GPIO来控制了,回到我一开始的问题了。

你现在硬件用哪个IO控制485收发?

之前的贴错了 都是用PI,IO控制用的 P17(UART2-RTS)。

#8 Re: 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 12:04:57

哇酷小二 说:

应该是PH8 CTS控制RS485收发。

那按硬件的接法我们已经没有办法用全志现成的dts配置了? 只能把这个控制当是普通的GPIO来控制了,回到我一开始的问题了。

#9 Re: 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 11:47:50

tigger 说:
swhkt 说:
tigger 说:

是哪一组串口,我帮你看下。

uart2 。

找到 dts 文件,看下是不是四线配置。

  uart2_pins_a: uart2@0 {
                             allwinner,pins = "PH5", "PH6", "PH7", "PH8";
                               allwinner,pname = "uart2_tx", "uart2_rx",
                                                 "uart2_rts", "uart2_cts";                                                                            
                                allwinner,function = "uart2"
                               allwinner,muxsel = <3>;

看dts是有配置的,但是PH8被我们已经用来当485的power了。PH7是就是那个控制脚。按你刚刚跟我讨论的话,是不是我在dts里面打开这个东西就可以实现485了?
linux,rs485-enabled-at-boot-time

#11 Re: 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 11:22:34

tigger 说:

首先看下硬件datasheet,这组UART是不是4线的?

能不能贴一下你的dts是怎么配置的?

#12 Re: 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 11:16:03

tigger 说:

首先看下硬件datasheet,这组UART是不是4线的?

是四线的。

#13 Re: 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 10:58:24

tigger 说:

全志官方SDK已经支持四线UART,

dts配置一下就可以了。

我是T507平台,我的驱动没支持,我们没有直接对接原厂。朋友你的驱动也是用sunxi-uart.c。这个的吗?

#15 全志 SOC » 全志android 系统 uart驱动里面控制一个io脚实现rs485功能,应该如何修改 » 2021-11-22 09:57:39

swhkt
回复: 16

目前我们平台T507使用的驱动是kernel/linux-4.9/drivers/tty/serial/sunxi-uart.c。
目前我的是修改是在tx发送的时候拉高GPIO,stop的时候拉低,但是发现发送字符超过一定数据的会有必现发送数据丢失,看起来的原因是GPIO拉早了,需要去判断fifo为空的时候才能拉低GPIO,我参考了 https://whycan.com/t_4012.html 这个提问加了下面的修改,机器都不能开机了,串口也用不了,请问有没有大神指点下,谢谢!

                while (port->ops->tx_empty(port) != TIOCSER_TEMT)
              
                    ;
                }

#16 Re: 全志 SOC » 请教大家一个问题,全志linux主线uart驱动里面控制一个io脚实现rs485功能,应该如何修改? » 2021-11-19 20:56:01

我也遇到同样的问题,很多数据一起发送的时候,就会发送不全,原因是GPIO拉低拉早,目前还没有找到判断FIFO为空的办法,我是T507平台

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn