WhyCan Forum(哇酷开发者社区)

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

您尚未登录。

#6 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 在树莓派a上驱动tft液晶屏(st7789v)播放高清电影 » 2020-08-19 14:20:09

jkl 说:

我现在想要在板子上面播放视频,能否给点意见?

树莓派的资料太多了,随便烧个固件估计都能放视频。

#7 Re: 计算机图形/GUI/RTOS/FileSystem » 请问各位大佬,有人用过这个视频解码芯片ADV7280吗? » 2020-08-14 09:38:05

szchen2006 说:

不是,是一款视频信号解码芯片。

https://www.analog.com/media/en/technical-documentation/data-sheets/ADV7280.PDF

刚刚翻了一下手册, 明明就是一个 adc 芯片.

模拟信号进来, 通用并口的数字信号出去, 主控芯片支持摄像头的都会支持这个ADV7280芯片。

#8 Re: 计算机图形/GUI/RTOS/FileSystem » 请问各位大佬,有人用过这个视频解码芯片ADV7280吗? » 2020-08-14 09:11:14

这个应该是 ADC 模数转换芯片吧?采集CVBS(TV)信号转为BT.656格式数字信号。

建议用f1c100s/f1c200s, 这个都支持:



Widora TINY200 R2 体验版开源开发包,修复了大部分F1C100s/F1C200s的遗留问题
http://whycan.cn/t_5061.html#p51424
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)

#12 Re: 全志 V3S/F1C100s/X3 » 我开始晕了。。跑裸机时F1C100s的BROM怎么把程序拷到0x00000000上运行了。。 » 2020-08-05 17:40:33

可能是这样: BROM 拷贝 boot0 到 SRAM(0 - 32K ???), 然后通过黑魔法把指针指向 SRAM .

#17 Re: 全志 V3S/F1C100s/X3 » 要做这样的一个东西,全志那个cpu比较合适?V3s? » 2020-07-31 11:34:29

iki1120 说:

这种带稍微复杂图形界面的,考虑成本相差不多 一律上Android,搞个嵌入式GUI,头都要撸秃。这个别说全志a33,就是一个a13都够了。
Android开发就一个app完事,开发难度跟嵌入式GUI比起来不知道低到哪里去了。即使招人,也是Android app人又多又便宜。

littlevgl 效果赶上Android了,同时又省ROM和RAM

#19 Re: ESP32/ESP8266 » 求解esp-wrover-kit无法烧写 » 2020-07-10 21:11:48

A fatal error occurred: Timed out waiting for packet header


感觉是通讯原因?等待包头超时?另外传图没有问题,刚刚测试了.

#23 Re: ESP32/ESP8266 » ESP8089就是ESP8266 ? » 2020-07-07 15:41:45

这个外国网友打开ESP8266的盖子,里面的die写着ESP8089

#25 Re: 全志 V3S/F1C100s/X3 » A33 + PCF8574 IO扩展芯片 调试记录 » 2020-07-07 09:33:23

# i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

2020-07-07_093228.png

#26 Re: 全志 V3S/F1C100s/X3 » A33 + PCF8574 IO扩展芯片 调试记录 » 2020-07-06 17:47:03

# i2cset -f -y 0 0x20 0x00 0x00

写寄存器0时序图:
2020-07-06_174618.png

#29 Re: 全志 V3S/F1C100s/X3 » A33 + PCF8574 IO扩展芯片 调试记录 » 2020-07-06 17:12:37

echo 413 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio413/direction
cat /sys/class/gpio/gpio413/value

读P5端口状态时序:
2020-07-07_094057.png

#30 Re: 全志 V3S/F1C100s/X3 » A33 + PCF8574 IO扩展芯片 调试记录 » 2020-07-06 17:07:41

echo 412 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio412/direction
echo 0 > /sys/class/gpio/gpio412/value

P4 也写入低电平, 时序图:
2020-07-06_170600.png

#31 全志 V3S/F1C100s/X3 » A33 + PCF8574 IO扩展芯片 调试记录 » 2020-07-06 17:02:28

路人甲
回复: 6
modprobe gpio-pcf857x

echo 409 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio409/direction

#P1写高电平
echo 1 > /sys/class/gpio/gpio409/value 

#P1写低电平
echo 0 > /sys/class/gpio/gpio409/value

P1 写高电平时序:
2020-07-06_170037.png



P1 写低电平时序:
2020-07-06_170147.png

#34 Re: 全志 V3S/F1C100s/X3 » 无法安装模块 » 2020-06-30 09:27:59

cris8259 说:

大神们,帮忙看下,esp8089还是用不了

# modprobe esp8089.ko config=crystal_26M_en=2
[  122.207413] Set sdio block size 512 failed: -110)
[  122.222972] first error exit
[  122.236528] eagle_sdio: probe of mmc0:0001:1 failed with error -110

我用这个驱动: https://github.com/al177/esp8089

一样的错误

#37 Re: 全志 V3S/F1C100s/X3 » 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动 » 2020-06-20 17:22:20

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make Sinlinx_SinA33_defconfig

然后修改 .config 打开 CONFIG_SUPPORT_EMMC_BOOT 开关.

出现以下错误:

U-Boot SPL 2020.04 (Jun 20 2020 - 01:31:43 -0700)
DRAM: 128 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from MMC2

U-Boot SPL 2020.04 (Jun 20 2020 - 01:31:43 -0700)
DRAM: 128 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from MMC2

U-Boot SPL 2020.04 (Jun 20 2020 - 01:31:43 -0700)
DRAM: 128 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from MMC2

U-Boot SPL 2020.04 (Jun 20 2020 - 01:31:43 -0700)
DRAM: 128 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from MMC2


(重复几百遍)

U-Boot SPL 2020.04 (Jun 20 2020 - 01:31:43 -0700)
DRAM: 128 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from MMC2
unable to select a mode
spl: mmc init failed with error: -524
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
(然后卡在此处)

#38 Re: 全志 V3S/F1C100s/X3 » 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动 » 2020-06-20 13:59:49

路人甲 说:

https://whycan.cn/t_4735.html#p47906

根据楼主的帖子提示, 然后我在Linux下面如下操作,貌似u-boot有显示了,虽然启动还有点问题。

mmc bootpart enable 7 0 /dev/mmcblk2

dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=1M count=200


只是偶尔才能启动u-boot:

Connecting to COM18...
Connected.

1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
reading /boot.scr
286 bytes read in 20 ms (13.7 KiB/s)
## Executing script at 43100000
Card did not respond to voltage select!
mmc_init: -95, time 28
** Bad device mmc 0 **
Card did not respond to voltage select!
mmc_init: -95, time 30
** Bad device mmc 0 **
SCRIPT FAILED: continuing...
reading /sun8i-x3-smallwit-card-taurus.dtb
24930 bytes read in 32 ms (760.7 KiB/s)
Card did not respond to voltage select!
mmc_init: -95, time 30

Device 0: device type unknown
... is now current device
** Bad device usb 0 **
** Bad device usb 0 **
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-de-ad-be-ef-00-01
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-sunxi
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.Config file not found
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.
=> 
=> 
=> 

即使这样,还不能引导Linux

#39 Re: 全志 V3S/F1C100s/X3 » 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动 » 2020-06-19 17:24:32

达克罗德 说:

谢谢晕哥以及楼上几位,我终于搞明白了。原来emmc有芯片级的boot,RPMB,GPP,UDA等分区,是正常情况下不可见的(或者选择其中一个)。我们平常访问和创建文件系统的是UDA分区。我板子上默认使能的是boot0分区启动,所以我无论怎么烧写uboot,其实都是烧到UDA分区,下次上电还是从boot0分区启动老的uboot。
参考:
https://www.cnblogs.com/helloworldtoyou/p/6053460.html?utm_source=itdadao&utm_medium=referral
https://www.cnblogs.com/arnoldlu/p/10762009.html

解决方法:
打开uboot的CONFIG_SUPPORT_EMMC_BOOT
在uboot设置从UDA(7)启动
mmc partconf 1 0 7 0

现在终于可以正常从emmc启动uboot了

我的u-boot v2017.11 没有这个配置,看来要更新代码了: CONFIG_SUPPORT_EMMC_BOOT

#40 Re: 全志 V3S/F1C100s/X3 » 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动 » 2020-06-19 17:22:14

路人甲 说:

我的 X3(A33)板子遇到同样尴尬的问题。

从TF卡启动,u-boot和Linux都可以识别和读写eMMC, 就是无法从eMMC启动.

先 mark 慢慢看

https://whycan.cn/t_4735.html#p47906

根据楼主的帖子提示, 然后我在Linux下面如下操作,貌似u-boot有显示了,虽然启动还有点问题。

mmc bootpart enable 7 0 /dev/mmcblk2

dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=1M count=200

#41 Re: 全志 V3S/F1C100s/X3 » 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动 » 2020-06-19 17:03:35

我的 X3(A33)板子遇到同样尴尬的问题。

从TF卡启动,u-boot和Linux都可以识别和读写eMMC, 就是无法从eMMC启动.

先 mark 慢慢看

#42 Re: 全志 V3S/F1C100s/X3 » A64 emmc boot0启动问题 » 2020-06-19 16:56:10

楼主调通eMMC了吗?我现在X3碰到同样尴尬的问题。

从TF卡启动,u-boot和Linux都可以识别和读写eMMC, 就是无法从eMMC启动.

#43 Re: 全志 V3S/F1C100s/X3 » 荔枝派Nano 的SDIO wifi 问题(搜不到热点) » 2020-06-19 14:29:48

嵌入式冲 说:

https://whycan.cn/files/members/4270/33_20200619-1422.png
这是缺了什么,内核配置问题吗

环境变量, 本站有帖, 你找一下。

#44 Re: 全志 V3S/F1C100s/X3 » 请教大家,A33 接了 eMMC, Linux识别到 boot0, boot1 是什么操作?eMMC特有的分区? » 2020-06-19 14:29:07

翻遍网络,终于找到写boot0和boot1的方法了:

这样就可以为所欲为写boot0:

echo 0 > /sys/block/mmcblk2boot0/force_ro

dd if=/dev/zero of=/dev/mmcblk2boot0 bs=1M count=4

这样就可以为所欲为写boot1:

echo 0 > /sys/block/mmcblk2boot1/force_ro

dd if=/dev/zero of=/dev/mmcblk2boot1 bs=1M count=48

我这块eMMC boot0 最大就4M, boot1 最大48M, 根据命令行反馈推测的:

# dd if=/dev/zero of=/dev/mmcblk2boot0 bs=1M count=5
dd: error writing '/dev/mmcblk2boot0': No space left on device
5+0 records in
4+0 records out

# dd if=/dev/zero of=/dev/mmcblk2boot2 bs=1M count=50
dd: error writing '/dev/mmcblk2boot2': No space left on device
50+0 records in
49+0 records out

#45 Re: 全志 V3S/F1C100s/X3 » 请教大家,A33 接了 eMMC, Linux识别到 boot0, boot1 是什么操作?eMMC特有的分区? » 2020-06-19 11:58:02

http://trac.gateworks.com/wiki/MMC
https://www.cnblogs.com/Cqlismy/p/12214305.html

# set boot partition to boot0
mmc bootpart enable 1 0 /dev/mmcblk2
# set boot partition to boot1
mmc bootpart enable 2 0 /dev/mmcblk2
# set boot partition to user
mmc bootpart enable 7 0 /dev/mmcblk2

上面三个执行任意一个, 然后再烧录eMMC:

dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=1M count=200

均不能启动, 这个eMMC有点难度啊。

#47 Re: 全志 V3S/F1C100s/X3 » 请教大家,A33 接了 eMMC, Linux识别到 boot0, boot1 是什么操作?eMMC特有的分区? » 2020-06-15 11:38:24

找到命令了, 可能是这个: mmc bootpart 1 1 /dev/mmcblk2

现在问题来了, 怎么把 u-boot 烧到 boot0 ?

#49 Re: 全志 V3S/F1C100s/X3 » 请教大家,A33 接了 eMMC, Linux识别到 boot0, boot1 是什么操作?eMMC特有的分区? » 2020-06-15 11:19:24

歌以咏志 说:

http://trac.gateworks.com/wiki/MMC

卡特定数据(CSD)寄存器(EXT_CSD [179])用于配置加电时选择的分区。可以在Linux中通过mmc-utils应用程序进行配置,也可以在U-Boot中通过mmc partconf命令进行配置(请参见下文)。

感谢提醒, buildroot找到工具了:

# BR2_PACKAGE_MMC_UTILS is not set

#50 Re: 全志 V3S/F1C100s/X3 » 请教大家,A33 接了 eMMC, Linux识别到 boot0, boot1 是什么操作?eMMC特有的分区? » 2020-06-15 11:07:39

https://www.cnblogs.com/helloworldtoyou/p/6053460.html

在同事的帮助下才知道emmc有boot1,boot2以及RPMB(Replay Protected Memory Block),GPAP(General Purpose Area Partitions,最多可以有4个),UDA(User Data Area)分区。而我们一般只知道UDA分区。

我们通常对emmc进行分区,也只是对UDA分区。boot1,boot2,RPMB分区是固定的,我们并不能控制器大小和分区格式。如下图所示(图片摘自网络):

....

这坑有点深了, 要研究一下了。

#51 全志 V3S/F1C100s/X3 » 请教大家,A33 接了 eMMC, Linux识别到 boot0, boot1 是什么操作?eMMC特有的分区? » 2020-06-15 11:05:56

路人甲
回复: 9

请教大家,A33 接了 eMMC, Linux识别到 boot0, boot1 是什么操作?eMMC特有的分区?

[    1.585115] mmc2: new DDR MMC card at address 0001
[    1.591821] mmcblk2: mmc2:0001 8GTF4R 7.28 GiB
[    1.597900] mmcblk2boot0: mmc2:0001 8GTF4R partition 1 4.00 MiB
[    1.605394] mmcblk2boot1: mmc2:0001 8GTF4R partition 2 4.00 MiB
[    1.613083]  mmcblk2: p1 p2


通过TF卡烧录 eMMC, 然而重新上电并没有反应:

dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=1M count=300

#52 Re: 全志 V3S/F1C100s/X3 » 小智 X3 卡片电脑 运行 Python3 + PyQt5 » 2020-06-13 17:26:13

这个玩法有创意,用记事本就可以写程序了。

#55 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 学习的意义??? » 2020-06-06 17:52:54

staunchheart 说:

很多你以为是知识,其实只是知道,与刷抖音、头条差不多,不要因此而感动自己。

不要夸大自己的付出,而贬底别人的付出,这总觉得不公平。
也不要夸大自己的收获,,这易觉得满足。

既然选择了技术这条路线,“学而实习之,不亦乐乎。有朋自远方来不亦乐乎。人不知而不愠,不亦君子乎”更适合。
学到的东西能在现实中实用(习)到,很开心呀,到群里与搞技术的朋友沟通,也更开心了。如果你是天才,你的知识比我们这些凡人都强,也不要生气,给我们讲解,就是君子了。

相对其它行业,我们理工科更客观些,对就是对、错就是错,别人能做到的,你只要努力也能做到(只要有硬件环境)。

大佬这么会说话,出书吧!

#56 Re: NB-IoT/2G模块/4G模块/GPRS模块/GPS/北斗 » AIR724开发板接电脑死活上不了网, LTE灯不亮也不闪,昨天好好的,折腾了一个小时,最后发现是 ... » 2020-06-04 08:37:46

啊,还有这种操作?

Linux有没有记住在 4G(RNDIS端口) 走了多少流量的编程接口?

感觉我们的系统也要在客户端统计一下才行,否则没底。

#58 Re: 君正Ingenic/X1000/X2000/T10/T20/T30 » 公司在淘宝买了一把二维码扫描枪,插着君正的X1000板子启动,不会生成event设备,应用程序读不到数据,还有救吗? » 2020-05-29 13:59:42

哇酷小二 说:

试一试 mdev -s

搞定了,真是这样,好神奇,执行完了之后就生成了 /dev/input/event2

这是什么原理?

#59 Re: 君正Ingenic/X1000/X2000/T10/T20/T30 » 公司在淘宝买了一把二维码扫描枪,插着君正的X1000板子启动,不会生成event设备,应用程序读不到数据,还有救吗? » 2020-05-29 11:58:42

貌似有生成event设备哦:

[    1.787947] usb 2-1: new full-speed USB device number 2 using ohci-platform
[    1.986709] random: crng init done
[    2.062430] input: Manufacturer Barcode Reader as /devices/platform/soc/1c1a400.usb/usb2/2-1/2-1:1.0/0003:E851:1000.0001/input/input2
[    2.129338] hid-generic 0003:E851:1000.0001: input: USB HID v1.01 Keyboard [Manufacturer Barcode Reader] on usb-1c1a400.usb-1/input0
[    4.091240] jffs2: notice: (75) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.

#61 Re: 君正Ingenic/X1000/X2000/T10/T20/T30 » 公司在淘宝买了一把二维码扫描枪,插着君正的X1000板子启动,不会生成event设备,应用程序读不到数据,还有救吗? » 2020-05-29 11:53:10

条码枪会触发动作,扫码也会响,但是应用程序就是读不到数据。

然后我插着电脑,接着电脑开机,开机后电脑记事本能显示条码枪数据。

说明不是条码枪问题。

#62 君正Ingenic/X1000/X2000/T10/T20/T30 » 公司在淘宝买了一把二维码扫描枪,插着君正的X1000板子启动,不会生成event设备,应用程序读不到数据,还有救吗? » 2020-05-29 11:50:37

路人甲
回复: 6

公司在淘宝买了一把二维码扫描枪,插着君正的X1000板子启动,不会生成event设备,应用程序读不到数据,还有救吗?

#64 Re: 8051/STC8/AT89C51/N76E003 » 打算用N76E003作为全志A33@Linux的看门狗, A33应用程序控制PG0定时输出方波, 如果20秒内没有检测到方波, 用N76复位 » 2020-05-14 09:26:05

感谢楼上各位, 参考 Timer2_AutoReload_Capture/Code/Capture.c 这个 demo,

已经搞定了N76做A33看门狗了,

我的逻辑是40秒超时, 如果40秒内没有收到PG0的脉冲,那么N76强拉 A33的 RESET 按键。

有一个问题要注意的是, N76E003的准双向上拉有点弱, 用PushPull会更好。

#65 Re: 8051/STC8/AT89C51/N76E003 » 打算用N76E003作为全志A33@Linux的看门狗, A33应用程序控制PG0定时输出方波, 如果20秒内没有检测到方波, 用N76复位 » 2020-05-13 11:14:36

拉轰的脚踏车 说:

一组16位定时器2带有3路输入捕获功能,9个输入管脚可供选择

定时器2及输入捕获
定时器2是一个16位的向上计数器,由高8位寄存器(TH2)和低8位寄存器(TL2)组成。通过配置寄存器RCMP2H和
RCMP2L,设置       ̅̅ ̅̅̅(T2CON.0)后,定时器2能工作在比较模式和自动重载模式下。定时器2具有3通道输入
捕获模块,可用于测量输入脉冲宽度或周期。3通道捕获结果分别存放在寄存器C0H 及 C0L, C1H 及 C1L, C2H
及  C2L中。定时器2的时钟来自系统时钟的分频,总共具有8级分频,可适用于更多应用需求。当TR2
(T2CON.2) 置 1,定时器使能;TR2置0时,定时器关闭。下列寄存器用于控制定时器2功能。






刚刚翻了一下 N76E003 手册, 定时器2可以使用捕获外设。

谢大佬, 找到例程了:

https://github.com/OpenNuvoton/N76E003-BSP/tree/master/Sample_Code/Timer2_AutoReload_Capture

https://raw.githubusercontent.com/OpenNuvoton/N76E003-BSP/master/Sample_Code/Timer2_AutoReload_Capture/Code/Capture.c

就是定时器2的捕获例程:

/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp. 
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Apr/21/2017
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E003 Timer2 Capture Mode demo code
//***********************************************************************************************************
#include "N76E003.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"

//*****************  The Following is in define in Fucntion_define.h  ***************************
//****** Always include Function_define.h call the define you want, detail see main(void) *******
//***********************************************************************************************
#if 0

////-------------------- Timer2 Capture define --------------------
////--- Falling Edge -----
//#define IC0_P12_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC1_P11_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x01;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC2_P10_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x02;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC3_P00_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x03;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC3_P04_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x04;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC4_P01_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x05;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC5_P03_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x06;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC6_P05_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x07;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC7_P15_CAP0_FallingEdge_Capture		CAPCON1&=0xFC;CAPCON3&=0xF0;CAPCON3|=0x08;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4

//#define IC0_P12_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC1_P11_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x10;CAPCON0|=SET_BIT5;CAPCON0|=SET_BIT5
//#define	IC2_P10_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x20;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC3_P00_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x30;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC3_P04_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x40;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC4_P01_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x50;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC5_P03_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x60;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC6_P05_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x70;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC7_P15_CAP1_FallingEdge_Capture		CAPCON1&=0xF3;CAPCON3&=0x0F;CAPCON3|=0x80;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5

//#define IC0_P12_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC1_P11_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x10;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC2_P10_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x20;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC3_P00_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x30;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC3_P04_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x40;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC4_P01_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x50;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC5_P03_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x60;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC6_P05_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x70;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6
//#define	IC7_P15_CAP2_FallingEdge_Capture		CAPCON1&=0x0F;CAPCON4&=0xF0;CAPCON4|=0x80;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6

////----- Rising edge ----
//#define IC0_P12_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC1_P11_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x01;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC2_P10_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x02;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC3_P00_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x03;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC3_P04_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x04;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC4_P01_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x05;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC5_P03_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x06;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC6_P05_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x07;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;
//#define	IC7_P15_CAP0_RisingEdge_Capture			CAPCON1&=0xFC;CAPCON1|=0x01;CAPCON3&=0xF0;CAPCON3|=0x08;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4;

//#define IC0_P12_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0FCAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC1_P11_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x10;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC2_P10_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x20;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC3_P00_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x30;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC3_P04_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x40;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC4_P01_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x50;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC5_P03_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x60;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC6_P05_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x70;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC7_P15_CAP1_RisingEdge_Capture			CAPCON1&=0xF3;CAPCON1|=0x04;CAPCON3&=0x0F;CAPCON3|=0x80;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;

//#define IC0_P12_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC1_P11_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x01;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC2_P10_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x02;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC3_P00_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x03;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC3_P04_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x04;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC4_P01_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x05;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC5_P03_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x06;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC6_P05_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x07;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC7_P15_CAP3_RisingEdge_Capture			CAPCON1&=0x0F;CAPCON1|=0x10;CAPCON4&=0xF0;CAPCON4|=0x08;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;

////-----BOTH  edge ----
//#define IC0_P12_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC1_P11_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x01;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC2_P10_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x02;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC3_P00_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x03;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC3_P04_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x04;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC4_P01_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x05;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC5_P03_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x06;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC6_P05_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x07;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4
//#define	IC7_P15_CAP0_BothEdge_Capture				CAPCON1&=0xFC;CAPCON1|=0x02;CAPCON3&=0xF0;CAPCON3|=0x08;CAPCON0|=SET_BIT4;CAPCON2|=SET_BIT4

//#define IC0_P12_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5
//#define	IC1_P11_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x10;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC2_P10_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x20;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC3_P00_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x30;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC3_P04_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x40;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC4_P01_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x50;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC5_P03_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x60;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC6_P05_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x70;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;
//#define	IC7_P15_CAP1_BothEdge_Capture				CAPCON1&=0xF3;CAPCON1|=0x08;CAPCON3&=0x0F;CAPCON3|=0x80;CAPCON0|=SET_BIT5;CAPCON2|=SET_BIT5;

//#define IC0_P12_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC1_P11_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x01;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC2_P10_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x02;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC3_P00_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x03;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC3_P04_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x04;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC4_P01_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x05;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC5_P03_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x06;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC6_P05_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x07;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;
//#define	IC7_P15_CAP3_BothEdge_Capture				CAPCON1&=0x0F;CAPCON1|=0x20;CAPCON4&=0xF0;CAPCON4|=0x08;CAPCON0|=SET_BIT6;CAPCON2|=SET_BIT6;

//#define TIMER2_IC2_DISABLE									CAPCON0&=~SET_BIT6			 
//#define TIMER2_IC1_DISABLE									CAPCON0&=~SET_BIT5			
//#define TIMER2_IC0_DISABLE									CAPCON0&=~SET_BIT4	

///*----------------------------------------------------------------------------------------------------------
//*    Timer2 mode define
//------------------------------------------------------------------------------------------------------------*/

//#define 	TIMER2_CAP0_Capture_Mode			T2CON&=~SET_BIT0;T2MOD=0x89
//#define 	TIMER2_CAP1_Capture_Mode			T2CON&=~SET_BIT0;T2MOD=0x8A
//#define 	TIMER2_CAP2_Capture_Mode			T2CON&=~SET_BIT0;T2MOD=0x8B

///*----------------------------------------------------------------------------------------------------------
//*   Timer devider define
//----------------------------------------------------------------------------------------------------------*/
//#define TIMER2_DIV_4			T2MOD|=0x10;T2MOD&=0x9F
//#define TIMER2_DIV_16			T2MOD|=0x20;T2MOD&=0xAF
//#define TIMER2_DIV_32			T2MOD|=0x30;T2MOD&=0xBF
//#define TIMER2_DIV_64			T2MOD|=0x40;T2MOD&=0xCF
//#define TIMER2_DIV_128		T2MOD|=0x50;T2MOD&=0xDF
//#define TIMER2_DIV_256		T2MOD|=0x60;T2MOD&=0xEF
//#define TIMER2_DIV_512		T2MOD|=0x70
#endif


/************************************************************************************************************
*    Timer2 Capture interrupt subroutine
************************************************************************************************************/
void Capture_ISR (void) interrupt 12
{
        clr_CAPF0;                          // clear capture0 interrupt flag
        P1 = C0L;														// For capture mode CxL/CxH with data capture from I/O pin
        P2 = C0H;														
        P12 = ~P12;													//toggle GPIO1 to show int
				printf("\n TM2 CAP 0x%bX",C0H);
				clr_TF2;
}
/************************************************************************************************************
*    Main function 
************************************************************************************************************/
void main (void)
{
    Set_All_GPIO_Quasi_Mode;
		InitialUART0_Timer3(115200);
		P00_Input_Mode;
		P00 = 1;

		TIMER2_CAP0_Capture_Mode;
		IC3_P00_CAP0_BothEdge_Capture;
			
		set_ECAP;                                   //Enable Capture interrupt
		set_TR2;                                    //Triger Timer2
		set_EA;

    while(1);
}

#66 Re: 8051/STC8/AT89C51/N76E003 » 打算用N76E003作为全志A33@Linux的看门狗, A33应用程序控制PG0定时输出方波, 如果20秒内没有检测到方波, 用N76复位 » 2020-05-13 10:45:21

staunchheart 说:

一直有个问题,多核情况下,看门狗如何处理?
比如一个核心死了(如死循环了),其它的核心没死,如何处理呢?
求大神科普。

我这个产品只在应用看逻辑有没有死,不管底层四核的问题,

比如网络不通了, 或者采集不到modbus数据了, 就不给 PG0 一个脉冲信号了,

这样N76E003 就当他死了, 重新复位。

#67 8051/STC8/AT89C51/N76E003 » 打算用N76E003作为全志A33@Linux的看门狗, A33应用程序控制PG0定时输出方波, 如果20秒内没有检测到方波, 用N76复位 » 2020-05-13 10:33:44

路人甲
回复: 6

打算用N76E003作为全志A33@Linux的看门狗,

A33应用程序控制PG0定时输出方波,

如果20秒内没有检测到方波, 用N76E003复位




可是问题来了, 我单片机不是很熟, N76E003就更差了,应该通过什么方法检测:

1. 定时轮询
2. 输入捕获
3. 其他

#68 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 上次合宙薅的羊毛SIM卡大家都用上了,需要激活吗?我接AIR720模组怎么不能上网呢? » 2020-05-10 22:22:03

路人甲 说:

不知道是电源问题还是当时没接天线问题, 现在已经可以正常上网了。

客服说这里可以查流量: http://sim.openluat.com/

但是我发现跑了一个晚上, 流量使用还是 0, 难道流量统计延迟这么大?

还发现居然有api可以调用查卡的信息: http://sim.openluat.com/apiinterface

问题重现了, 就是没插天线的问题, 插上天线就好了, 看来4G对信号要求很高.

#69 Re: 全志 V3S/F1C100s/X3 » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-05-09 11:58:23

我思故我在 说:

楼主大佬有没有 dts 参考一下呢?

感觉不需要,

按readme, 应该这样执行命令或许就可以了:

modprobe esp8089-spi esp_reset_gpio=13 esp_cs0_pin=16 esp_interrupt=26

#70 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 上次合宙薅的羊毛SIM卡大家都用上了,需要激活吗?我接AIR720模组怎么不能上网呢? » 2020-05-06 09:08:29

晕哥小弟 说:

抢了 到现在模组还没有发货   + 1

我的模组也没发货,但是卡先插到以前买的合宙AIR720上面用了。

#71 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 上次合宙薅的羊毛SIM卡大家都用上了,需要激活吗?我接AIR720模组怎么不能上网呢? » 2020-05-06 09:01:43

不知道是电源问题还是当时没接天线问题, 现在已经可以正常上网了。

客服说这里可以查流量: http://sim.openluat.com/

但是我发现跑了一个晚上, 流量使用还是 0, 难道流量统计延迟这么大?

还发现居然有api可以调用查卡的信息: http://sim.openluat.com/apiinterface

#72 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 合宙 AIR720H 全网通4G模块测试 » 2020-05-05 15:28:06

请问我的是 PWRLED 常量, STALED常灭, NETLED亮灭交替, 是不是供电不足?

#75 Re: 全志 V3S/F1C100s/X3 » 双层板的四核神器?X3(A33内置DRAM版本) » 2020-05-04 09:49:41

mango 说:

如果我是sochip,我会拿A40i来sip,而不是A33

这个可以有哦,不知道SIP一次成本要多少钱,不考虑均摊。

#76 Re: 全志 V3S/F1C100s/X3 » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-04-27 11:51:39

这个驱动稳定性如何?我记得前面的帖子里面的驱动三下五除二就挂了,基本没有找到稳定的。

#78 Re: 君正Ingenic/X1000/X2000/T10/T20/T30 » F1C100s 串口可能用 RS485半双工模式吗?本来想通过控制 PE10 高低电平实现半双工, 结果连ioctl都通不过 » 2020-04-20 08:12:59

shaoxi2010 说:

实现代码不方便放出来了,不过思路还是很简单的。先在串口发送中断进入时修改到2分之一fifo,将发送置位,在最后中断触发先修改fifo到empty触发,再去判断lsr的最后位有没有发送,接着置位为接收。和ti的实现不同全志串口呵呵呵...

我的RS485 驱动控制GPIO半双工控制问题也解决了, 在此抛砖引玉: https://whycan.cn/t_4012.html#p39120

#79 Re: 全志 V3S/F1C100s/X3 » 请教大家一个问题,全志linux主线uart驱动里面控制一个io脚实现rs485功能,应该如何修改? » 2020-04-20 08:11:57

根据楼上这篇文章彻底解决了驱动中gpio控制RS485方向控制问题:

serial8250_tx_chars() 函数中执行 __stop_tx(up) 之后:

                //等待发送完成
                while (port->ops->tx_empty(port) != TIOCSER_TEMT)
                {
                    ;
                }

                gpio_set_value(133, 0);//拉低PE5, 进入接收状态

#80 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » PCB台历 » 2020-04-11 08:27:35

楼主的创意比老外那个名片更棒!
我们中国人不差想象力 *_*

#82 Re: 全志 V3S/F1C100s/X3 » 新手求助 rootfs.tar生成 » 2020-04-09 16:08:24

你的根文件系统有问题, 系统一个个试过都没有运行权限, 仔细看log

#84 Re: 全志 V3S/F1C100s/X3 » 新手求助 rootfs.tar生成 » 2020-04-09 15:54:22

这是符号链接文件(symbolic links files), 都指向 busybox(传说中的瑞士军刀)

#85 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 给大家推荐一款联通的流量卡, 年付8元, » 2020-04-07 12:16:28

aozima 说:

我的现在提示停机了,打算注销。
APP上面没找到地方,感觉被坑了,需要去营业厅门店面。

我上个月收到苏州联通电话,充100送100,然后12元包11G比移动划算,所以接着玩,斜眼笑.gif

#86 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 微信聊天记录迁移到新手机, 可以把以前登录过微信的手机聊天记录(包括文字/语音/图片/视频)都可以迁移到新手机,不只限一台手机。 » 2020-04-07 11:04:51

发现手机微信比手机qq优秀很多,手机qq会自动删除比较久的记录,虽然我是vip也要手动一个一个好友更新聊天记录。微信能快速搜到任何聊天记录,包括任何群聊。

#90 Re: 全志 V3S/F1C100s/X3 » 使用华嵌HQEmbed S3 开发板, 驱动经典的无线芯片 BCM43438(AP6212) 的 WIFI » 2020-04-06 21:01:06

感谢楼主,跟着楼主步骤一步一步终于搞定ap6212驱动,连续跑了几天都没有断网。

#91 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 嵌入式Linux通讯用 libssl RSA 加密感觉挺不错的 » 2020-04-06 14:08:51

libssl在单片机上跑估计够呛,但是上linux系统好使了,只要私钥不泄密,别人就解不了。

#92 Re: 全志 V3S/F1C100s/X3 » 请教大家一个问题,全志linux主线uart驱动里面控制一个io脚实现rs485功能,应该如何修改? » 2020-04-05 01:23:33

再找到一篇好文: Linux-485收发切换延迟的解决方法



3.1 由应用程序控制是否打开串口设备的485功能
在串口驱动里切换485方向对性能有一些影响。
而某些应用可能只需要标准串口,不需要支持485模式。
因此最好由应用程序来控制,是使用标准串口还是支持485模式的串口。
这主要利用ioctl()实现。

应用程序在初始化打开串口时,禁用/使能串口的485模式

fd = open(...);
init_serial(fd, ...);

struct serial_rs485 rs485conf;
rs485conf.flags |= SER_RS485_ENABLED;   // 使能本串口485模式,默认禁用
ioctl(fd, TIOCSRS485, &rs485conf);

驱动程序中对使能了485模式的串口作特殊处理。
利用struct uart_8250_port结构体中的struct serial_rs485 rs485成员判断串口是否支持485模式。
在serial_8250.h中有定义rs485数据成员,以及设置此数据成员的成员函数rs485_config

#94 Re: 全志 V3S/F1C100s/X3 » 请教大家一个问题,全志linux主线uart驱动里面控制一个io脚实现rs485功能,应该如何修改? » 2020-04-04 23:49:06

liuchangyin 说:

在外部可以加一个三极管,自动控制读写

客户要求用 gpio 驱动里面控制

#95 Re: 全志 V3S/F1C100s/X3 » F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG » 2020-04-04 01:03:49

pener 说:

为什么都下载不了

哪个文件?我看都可以下载哦

#96 Re: 全志 V3S/F1C100s/X3 » 请教大家一个问题,全志linux主线uart驱动里面控制一个io脚实现rs485功能,应该如何修改? » 2020-04-03 19:36:07

晕哥 说:

询问了以前用f1c100s控制 da14585 蓝牙芯片的朋友, 他说:

改 8250_port.c 里面的 serial8250_tx_chars()

这里发送数据前控制电平(高),

发完送数据前控制电平(低)


因为我的f1c100s io 口检测 da14585 的 cts 引脚电平,

如果为高电平就等待,

如果为低电平就启动发送。

我的这个流控逻辑和你的RS485逻辑基本一样。

2020-04-03_170444.png

2020-04-03_170248.png

2020-04-03_170425.png

差不多搞定了, 就是按上面晕哥的建议修改, 逻辑分析仪显示时序正常了.

#105 Re: 全志 V3S/F1C100s/X3 » 要做这样的一个东西,全志那个cpu比较合适?V3s? » 2020-03-24 13:41:27

nixoncheng 说:

我觉得国产芯片的主要问题是生态不够,初学者没有持别好找的和质量高的资源!上手较难。当然,有量的不在这个讨论中。有量的客户,厂家会提供好的技术支持。我们这种DIY的,基本上没办法。前段时间,买了个LICHEE ZERO,就想配个5寸的屏,搞个HMI,与下位机,通过RS232通讯,用QT写界面。一点有用的资源都找不到!  当然,自己也有问题,本身也比较菜。

代理机制问题,可以说也是全志的问题,
假如某个代理花巨资搞开发板培育市场,
其他代理就租个小房子卖芯片,
你想想谁的成本更低,
开发时哪家技术好找哪家 ,
量产时哪家便宜找哪家,
这种情况下劣币驱良币,
优秀的代理商活不下去,都变成了佛系代理了。

#106 Re: 全志 V3S/F1C100s/X3 » Debian buster (10) rootfs 制作 » 2020-03-23 10:11:09

感谢分享,发现优秀的帖子越来越多了,朕都阅不完了。

#108 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 个人信息这么容易泄露吗?看到一个帖子,很恐怖 » 2020-03-18 09:04:10

网络时代谈隐私,本身就是伪命题。
你买房合同签好之后有没有收到100个装修广告
你注册公司之后有没有收到100个做账的广告

#109 Re: 全志 V3S/F1C100s/X3 » 关于 lichee-pi zero v3s 以太网硬件严重发热问题和解决办法 » 2020-03-17 22:12:45

晕,我照抄了这个电路 而且还出货了,同事反应很烫,不会是这个问题吧,我晕。。。。

#110 Re: NB-IoT/2G模块/4G模块/GPRS模块/GPS/北斗 » 请教一下,GPS不用RTK,PPK,PPP定位精度能达到0.1M的样子吗? » 2020-03-16 15:35:20

应该是有辅助定位技术的,比如几万人的开阔足球场内可以高精度定位,但是出了这个场子就没办法了,和大马路一样了,GPS不知道你到底在主道还是辅道,他也是靠算法来判断。

#111 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 有大佬用过NUC972的EBI外部总线吗? » 2019-05-27 13:49:38

我记得972有 EBI 裸奔的程序, 可以写个demo测试一下

这种外设配合 DMA 才会快起来。

#112 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 有点亮过SPI+RGB屏幕的大佬吗? » 2019-05-27 13:47:06

对, 这种屏都是这种套路, 通过 SPI 初始化各种参数, 包括左右/上下翻转, 旋转,关屏/开屏 等操作。

如果你初始化为 SYNC RGB 之后, 就不用管 SPI 了.

#113 Re: 全志 V3S/F1C100s/X3 » v3s 网口传输距离不到100米,大家有没有测试过? » 2019-05-27 13:45:20

80米如果能稳定传输也很优秀了, 感觉应该是 PHY 的问题。

#114 Re: 计算机图形/GUI/RTOS/FileSystem » @熊掌 开源的 littlevgl 读取并显示TTF字体的程序,使用 freetype ttf字体库 » 2019-05-27 10:54:44

只是退出的时候有点小bug, 但是我有点代码洁癖, 就是忍不住要改, 哈哈!

#115 Re: 计算机图形/GUI/RTOS/FileSystem » @熊掌 开源的 littlevgl 读取并显示TTF字体的程序,使用 freetype ttf字体库 » 2019-05-27 10:53:42

谢谢作者分享。

我试了一下, 模拟器有点bug, 退出窗口(进程)的时候没有先通知 线程退出,

导致出现错误提示:

QThread: Destroyed while thread is still running
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.


然后我改了一点点:

MainWindow::~MainWindow()
{
    gui_thread.exit(0);
    Sleep(50);
    delete ui;
}

然而还是一样的问题, 跟踪了一下


gui_thread.exit(0);

根本不能这样结束线程.

看来得想别的线程通讯方法才行。

2019-05-27_105146.png

#116 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 有点亮过SPI+RGB屏幕的大佬吗? » 2019-05-27 10:47:43

可以的, 我就是用 N76E003 初始化 LCD 的,

不过后来想想, 根本不需要, 直接用 主CPU 的 IO口初始化就可以了,

因为那组口初始化之后就用不上了。

#117 Re: RISC-V » 围观国产【嘉楠耘智】出品 双RISC-V核 AI 处理器 K210 » 2018-10-09 20:16:15

批量据说2.99刀,具体多少算批量不清楚,芒果大神你用于社区的开发板肯定可以拿到更好的价格。


加官方的Q群问下

欢迎加入K210 AI芯片使用交流群1,群聊号码:456088352

#118 Re: 全志 V3S/F1C100s/X3 » 大家希望S3模组使用什么接口引出?希望坛友脑爆一下 » 2018-10-09 20:14:19

mango 说:

全志上哪个WIFI稳定靠谱?还有时间加上去。

ES8089见得比较多

#119 Re: 全志 V3S/F1C100s/X3 » 大家希望S3模组使用什么接口引出?希望坛友脑爆一下 » 2018-10-08 22:01:17

kakatoo 说:

弄个Tailor tf卡? LGA8封装的。 这样把SPI 省出来。 SPI还是很有用的啊。晕哥 在另外帖子里 说的SD nand 就是这玩意。

V3s 的 spi 虽然只有一组,但是可以提供 cs-gpios 片选接多路spi芯片,给了这个高性价比芯片挺大的发挥空间。

#120 Re: 全志 V3S/F1C100s/X3 » f1c100s 要接以太网咋整? » 2018-10-08 21:58:22

kakatoo 说:
晕哥 说:
kakatoo 说:

6块钱的USB转RJ45  RTL8152B  可以用不  @晕哥。  这样比V3S还是便宜不少。
V3S 我要用接个SPI设备,等诸位 试试那个SD接口的nand 是不是好使 嘿嘿 cool

没试过 RTL8152B, 不过6块钱还行还行...
sd nand 我也没有试过

突然想起一个问题 是不是4.x的kernel , F1C100s还用不来USB?  这是个大坑啊。

对,还有点问题,@chong 大神正在调试。

#121 Re: 全志 V3S/F1C100s/X3 » 网友 @chong 大神提供的f1c100s mainline linux usb 补丁包,支持usb otg(host & device) » 2018-10-08 20:50:52

ippen 说:
晕哥 说:

貌似当时没有测试,后来尸体都送给本站网友了。

还能用么?能不能测试一下?

从网上的宣传资料看,应该是能够实现usb device的,所以我还是觉得全志的资料不齐全,sdk有缺陷引起的

那个已经挂了,起不来了,而且唱戏机用的是 melis 系统,不是linux,有没有兴趣试一试?

#122 Re: 全志 V3S/F1C100s/X3 » 有没有朋友用过 【SD 接口的 NAND】,可以用在全志soc上 » 2018-10-08 16:47:21

kakatoo 说:
awfans 说:
达克罗德 说:

和spi nand比有什么优势?

内置了坏块和写平衡算法吧,软件上面就当硬盘用了,处理起来比较简单。

我觉得这货可能没有写均衡吧。 要不然应该叫LGA8封装的SD卡,而不是叫SD接口的nand。

这,,,, 感觉手册语焉不详...

#123 Re: 全志 V3S/F1C100s/X3 » 有没有朋友用过 【SD 接口的 NAND】,可以用在全志soc上 » 2018-10-08 15:18:40

apollo800 说:

SD NAND最小起定量3770,一个128M的9.5,9.5*3770=35815,这要是有问题,就打水漂了。

这起订量有点亚历山大啊.

#124 Re: 全志 V3S/F1C100s/X3 » 网友 @chong 大神提供的f1c100s mainline linux usb 补丁包,支持usb otg(host & device) » 2018-10-08 15:04:43

ippen 说:
路人甲 说:
apollo800 说:

我早就因为这个原因放弃了F1C100s,USB驱动没有,有点说不过去呀,我当初还傻傻地等那个群主说下周就发,等了。。。。,果断放弃了

主线Linux下USB驱动确实有点问题,

但是bsp linux USB驱动基本正常了:
https://whycan.cn/t_1626.html

f1c100s 性价比很好,还是有可圈可点之处的。

rndis 驱动正常,但mass_storage驱动不行

这就尴尬了.

#125 Re: 全志 V3S/F1C100s/X3 » 网友 @chong 大神提供的f1c100s mainline linux usb 补丁包,支持usb otg(host & device) » 2018-10-08 14:48:18

apollo800 说:

我早就因为这个原因放弃了F1C100s,USB驱动没有,有点说不过去呀,我当初还傻傻地等那个群主说下周就发,等了。。。。,果断放弃了

主线Linux下USB驱动确实有点问题,

但是bsp linux USB驱动基本正常了:
https://whycan.cn/t_1626.html

f1c100s 性价比很好,还是有可圈可点之处的。

#126 Re: 全志 V3S/F1C100s/X3 » 基于buildroot-2018.02.5搭建A20 软件环境 » 2018-10-08 13:47:46

真的是很烦 说:
路人甲 说:
真的是很烦 说:

就是搜A20才找到这个版块的,  刚接触全志的芯片, 看了不少帖子, 总算是前进了一步

直接用 buildroot 可以编译出官方烧录镜像 img文件?

是的.   最后生成的sdcard.img 就可以直接烧录进去
>>>   Executing post-image script board/cubietech/cubieboard2/post-image.sh
vfat(boot.vfat): adding file 'zImage' as 'zImage' ...
vfat(boot.vfat): adding file 'sun7i-a20-cubieboard2.dtb' as 'sun7i-a20-cubieboard2.dtb' ...
vfat(boot.vfat): adding file 'boot.scr' as 'boot.scr' ...
hdimage(sdcard.img): adding partition 'u-boot' from 'u-boot-sunxi-with-spl.bin' ...
hdimage(sdcard.img): adding partition 'boot' (in MBR) from 'boot.vfat' ...
hdimage(sdcard.img): adding partition 'rootfs' (in MBR) from 'rootfs.ext4' ...
hdimage(sdcard.img): writing MBR

https://github.com/buildroot/buildroot/blob/master/board/cubietech/cubieboard2/
看了一下这不是全志官方烧录软件PhoenixSuit的套路,
不能用 PhoenixSuit 软件烧录 sdcard.img 文件吧,
是不是用 dd 命令直接写到TF卡?

#127 Re: 全志 V3S/F1C100s/X3 » 基于buildroot-2018.02.5搭建A20 软件环境 » 2018-10-08 12:46:34

真的是很烦 说:
晕哥 说:

好奇搜了一下 cubieboard2

原来是 经典的 A20,

http://cubieboard.org/2013/06/19/cubieboard2-is-here/

就是搜A20才找到这个版块的,  刚接触全志的芯片, 看了不少帖子, 总算是前进了一步

直接用 buildroot 可以编译出官方烧录镜像 img文件?

#128 Re: 全志 V3S/F1C100s/X3 » 今天索智说S3是V3+128MB DDR3,以前一直以为是v3s » 2018-10-07 16:23:55

playflash 说:

S3的开发包还是camdroid吗

索智出了一个linux版本,但是camdroid应该也可以用。

#130 Re: 全志 V3S/F1C100s/X3 » 有没有朋友用过 【SD 接口的 NAND】,可以用在全志soc上 » 2018-10-07 07:14:44

playflash 说:
didi 说:
apollo800 说:

这个我也找了很久,真需要这种呀,现在还有一种是emmc的,走的也是SD卡的协议,
http://www.360doc.com/content/16/1112/11/38024613_605833100.shtml

eMMC本来就兼容SDIO协议吧,
市场上的 eMMC都是BGA封装,容量动不动就2G/4G起,价格也是20多人民币起,
如果有 10块钱以内的 SD NAND还是挺不错的,
比起SPI NAND来, SD NAND软件复杂度大大降低.

http://www.360doc.com/content/16/1112/11/38024613_605833100.shtml

可以用SPI模式读eMMC吗?那样又可以少了几根线。

是的,从前AVR都是这么干的,AVR没有SDIO,再以前8051也是这么干,因为他连SPI都要软件模拟时序。

#132 Re: 全志 V3S/F1C100s/X3 » 针对Lichee Pi Zero的Debian问题。 » 2018-10-03 13:12:25

Mitko 说:
路人甲 说:

可以,在usb开启 gadget与RNDIS驱动就可以了。

更喜欢真正的以太网端口。

任何准备好的U-boot +内核包括:Licheepi Zero Ethernet适配指南 ?

对,按照上面的步骤一步一步,可以把 Ethernet 搞定。

#133 Re: 全志 V3S/F1C100s/X3 » 有没有朋友用过 【SD 接口的 NAND】,可以用在全志soc上 » 2018-10-03 11:05:54

apollo800 说:

这个我也找了很久,真需要这种呀

如果稳定的话,还是挺有优势的。
就怕搞出什么幺蛾子。。。

#134 Re: 全志 V3S/F1C100s/X3 » 针对Lichee Pi Zero的Debian问题。 » 2018-10-03 06:41:38

可以,在usb开启 gadget与RNDIS驱动就可以了。

#137 Re: 全志 V3S/F1C100s/X3 » 大家希望S3模组使用什么接口引出?希望坛友脑爆一下 » 2018-10-01 19:07:24

playflash 说:
晕哥 说:
playflash 说:

芒果派 与楼主mango有关系?

楼主是widora开源硬件的老板。

敬仰,敬仰,我也有买过widora的板。
晕哥,荔枝派V3s BSP 上 能用摄像头吗?我调了很久都有错,调不出图像, 自己水平有限。

据说用camdroid是可以的。

#138 Re: ESP32/ESP8266 » 关于esp32录音传给http的问题? » 2018-10-01 11:06:57

esp_http_client_write 这个函数会写到 ip协议栈的。

#139 Re: ESP32/ESP8266 » 关于esp32录音传给http的问题? » 2018-10-01 09:30:28

看代码 _http_stream_event_handle 是回调函数吧,应该是这个 HTTP_STREAM_ON_REQUEST 状态实现数据传输的。

#140 Re: 全志 V3S/F1C100s/X3 » F1C100S裸奔framebuffer+PWM+GPIO驱动 » 2018-10-01 09:25:43

Gardenia 说:
达克罗德 说:

framebuffer驱动我还是花了几个晚上功夫的,为了不用xboot的dts还有driver架构,把reset,clock等好几个模块都改了一遍。如果再来一遍V3S的话,应该容易很多,因为两芯片同出一源代码很类似。

不过不打算继续自己搞裸奔了,可重用性太低,累死人。准备直接用xboot或者RTOS这样的平台来开发后续产品,开发驱动有标准,代码容易复用,功能也更强大。比如说切换V3S和F1C100S对xboot来说非常简单,上层完全不用改

目前我把xboot优化到1.3MB大小(带文件系统和图形库),启动到logo只需要0.85s(F1C100S),基本满足需要。V3S没测,上电应该更快。如果V3S和F1C100S支持QSPI就完美了。。。

:lol:现在才看到,原来你已搞定,能分享下代码吗?我信息里面有我邮箱
我也想试试能不能启动之后能不能先初始化spi,提高下spi访问速度,之后spi拷贝速度会高点,没有qspi确实硬伤啊

没有quad spi,但是貌似有dual spi吧。

#141 Re: 全志 V3S/F1C100s/X3 » 无限可能!为MT7620添加N个SPI接口 [V3s可参考] » 2018-09-30 19:55:14

jacob1934 说:

寄存器 SPI_INTCTL中,
SS_OWNER==1,由软件控制cs。其实在spi驱动中,设置了这个后,需要片选的时候,直接设置对应的GPIO就行了吧?
ss_sel,选择当前片选。明明有4个硬件片选的,究竟是哪几个引脚?pin_mux怎样设置?
ss_level,设置cs的高低

https://blog.csdn.net/manfeel/article/details/43635529
这个博客貌似讲得很透彻

#143 Re: 全志 V3S/F1C100s/X3 » 【2】step by step 编译全志 f1c100s 官方linux bsp (重建文件系统已经搞定,详见5楼) » 2018-09-30 12:53:08

wind 说:

@晕哥 晕哥你最后这个bsp版本的usb主从切换实现了没,我参照你的步骤主口是通了,也能用u盘了,切换usb_device就gg,单独的测试device还在验证中

我也一样,按照晕哥方法搞定了 device / host,但是怎么修改 fex otg都无法切换。

#145 Re: 全志 V3S/F1C100s/X3 » V3S spi FLASH 烧写命令地址 » 2018-09-29 23:31:36

dts 文件要启用 spi 总线,并且加入 mx25/w25 设备。

#146 Re: 全志 V3S/F1C100s/X3 » 今天索智说S3是V3+128MB DDR3,以前一直以为是v3s » 2018-09-29 19:26:49

S3  = V3 + DDR?
V3s = V3 + DDR?

不确定里面是DDR规格,但是sip一个V3是肯定的了。

#147 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » qt商业授权要多少钱? » 2018-09-29 19:25:19

jlau 说:
晕哥 说:

https://www1.qt.io/licensing/

Qt for Application Development是根据商业和开源许可证双重许可的。商业Qt许可证授予您在不需要任何开源许可证义务的情况下以您自己的条件创建和分发软件的全部权利。凭借商业许可,您还可以访问官方Qt支持并与Qt公司建立密切的战略关系,以确保您的发展目标得以实现。

Qt for Application Development也可以在GPL和LGPLv3开源许可下使用。Qt工具和一些库仅在GPL下可用。有关详细信息,请参见对比图表 Qt开源许可非常适用于开源项目,如开源分发,学生/学术目的,业余爱好项目,没有外部分发的内部研究项目,或其他可以满足所有(L)GPL义务的项目。

商业授权价格不清楚,但是如果使用 LGPLv3 授权,可以不用公开项目源码.

LGPLv3不能使用Qt Charts和Qt Data Visualization,而且估计出货时还要为每台机器给钱的吧

按照LGPLv3协议,如果不使用 Qt Charts和Qt Data Visualization 应该不用钱吧.

#151 Re: RISC-V » 最权威的 RISC-V 汇编程序员手册 » 2018-09-18 14:09:16

还好我只会C,汇编看不懂,管他什么架构,拿起键盘就开干。

#152 Re: 全志 V3S/F1C100s/X3 » v3s配置网络问题 » 2018-09-15 17:52:18

最好还是用git,去bilibili在线搜索git视频用法

#154 Re: 全志 V3S/F1C100s/X3 » 有没有“”设备树, Linux“”配置说明 » 2018-09-15 15:24:08

看起来是V3s吧,
版本是多少,有没有改过设备树?
现在显示屏没有显示?

#156 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 打灯笼在淘宝找到 jlink V9 mini版本, 方便出差用. » 2018-09-10 16:48:49

lcfmax 说:

我在武汉的一家买了一个带外壳的,也很小,micro USB接口的,比这个贵一点,用下来也不错

晕哥 说:
lcfmax 说:

这个没有外壳,用A型口,体积大了点啊

TypeA确实大了一点,如果用micro usb 或者TypeC更好.
看评论那个芯片可能是 翻新的,不过只要功能正常不影响使用。

伸手党求链接

#157 Re: 全志 V3S/F1C100s/X3 » Allwinner A40i Quad-Core Industrial Control Processor » 2018-09-10 15:04:20

买得到芯片也拿不到sdk,全志很封闭的。

难道这个是全志第一颗工业级芯片?

#158 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 打灯笼在淘宝找到 jlink V9 mini版本, 方便出差用. » 2018-09-10 13:10:31

posystorage 说:

这玩意我自己画板做了个。可能比这个宽一点点吧?长度差不多。双排针正反面贴板焊接。线序和原装jtag线一样。不用专门转接线就能用

大佬,能不能分享一下,谢谢!

#159 Re: 全志 V3S/F1C100s/X3 » nanopi H3 insmod问题 » 2018-09-09 13:31:00

rtl8192cu 驱动程序?
第一行是说内存申请出错,
至于为什么出错要查一查了。

#160 Re: 全志 V3S/F1C100s/X3 » 一直没搞明白V3s 主线的设备树 okay 和 & 的含义,请各位不吝赐教 » 2018-09-08 15:04:25

./drivers/of/fdt.c

static int __init __fdt_scan_reserved_mem(unsigned long node, const char *uname,
                      int depth, void *data)
{
    ... ...

    status = of_get_flat_dt_prop(node, "status", NULL);
    if (status && strcmp(status, "okay") != 0 && strcmp(status, "ok") != 0)
        return 0;

    err = __reserved_mem_reserve_reg(node, uname);
    if (err == -ENOENT && of_get_flat_dt_prop(node, "size", NULL))
        fdt_reserved_mem_save_node(node, uname, 0, 0);

    /* scan next node */
    return 0;
}

如果设备树的 status 值不等于 okay 后者 ok, 那么就直接退出了。
所以,如果要启动这个设备,在设备树必须 status = okay 或者 ok.

#161 Re: 全志 V3S/F1C100s/X3 » 一直没搞明白V3s 主线的设备树 okay 和 & 的含义,请各位不吝赐教 » 2018-09-08 14:58:45

$ grep \"okay\" -r ./drivers/of --include *.c
./drivers/of/dynamic.c:        status_state = !strcmp(prop->value, "okay") ||
./drivers/of/dynamic.c:            old_status_state = !strcmp(old_prop->value, "okay") ||
./drivers/of/fdt.c:    if (status && strcmp(status, "okay") != 0 && strcmp(status, "ok") != 0)
./drivers/of/base.c: *  Returns true if the status property is absent or set to "okay" or "ok",
./drivers/of/base.c:        if (!strcmp(status, "okay") || !strcmp(status, "ok"))
./drivers/of/base.c: *  Returns true if the status property is absent or set to "okay" or "ok",

我搜一下设备树相关代码,貌似有新发现.

#162 Re: Cortex M0/M3/M4/M7 » 弱弱地问一句,大家串口通信 习惯上用什么校验和的算法?有什么优劣? » 2017-09-07 14:15:48

确定要格式化吗 说:
确定要格式化吗 说:

我觉得按字节累加还好一些。
因为同时两个字节互换错误的概率不大呀。

查表后还不是得异或?

他那个异或XOR不是一两句话可以说清楚的,相信这些酒精考验的标准库....

#163 Re: Cortex M0/M3/M4/M7 » 弱弱地问一句,大家串口通信 习惯上用什么校验和的算法?有什么优劣? » 2017-09-07 14:14:24

标准CRC有很多MCU有硬件支持的。
用软件速度也很快, 查表法, 哈哈哈

#165 Re: Cortex M0/M3/M4/M7 » 弱弱地问一句,大家串口通信 习惯上用什么校验和的算法?有什么优劣? » 2017-09-07 14:11:07

确定要格式化吗 说:

我现在想用所有字节累加成个 32位数就行了。

累加对连续的位翻转无能为力.

#166 Re: Cortex M0/M3/M4/M7 » 弱弱地问一句,大家串口通信 习惯上用什么校验和的算法?有什么优劣? » 2017-09-07 14:09:59

晕哥 说:

做通用系统,
非标就自己弄一个算法,
我也用过校验和, 8位的

那计算量不是更多?

页脚

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