头像-8906

mingming

  • 北京市北京市
  • RF/无线

个人成就

获得 1 次赞

帮助过157人

JDY-08蓝牙低功耗与唤醒问题

1、在从模块通过USB转串口与pc机连的情况下,pc机向从模块发AT+SLEEP,从模块的电流在2mA上下摆动。在从模块与单片机STM32串口相连时,在与主模块透传情况下,从模块电流大概8mA左右,电流增大时什么原因 2、pwrc翻转后,从模块电流在大概6mA到8mA之间摆动,主从之间断开。pwrc翻转后的这个现象是不是进入睡眠模式?这时的电流为什么这么大? 3、如何在主从之间断开的情况下,从MCU给从模块指令,使得从模块睡眠

AM3358 移植Uboot 以太网ping不通

在AM3358平台移植Uboot(ver=U-Boot 2018.07)以太网可以识别但是ping不通: U-Boot 2018.07 (Feb 28 2021 - 18:59:04 -0800) WJP F:arch/arm/mach-omap2/am33xx/sys_info.cL:130 CPU  : AM335X-GP rev 2.1 Model: TI AM335x EVM-SK DRAM:  256 MiB F:common/board_r.cL:423board_init_r start F:common/board_r.cL:423board_init_r end WJP F:board/ti/am335x/board.c L:636 F:board_init start: WJP F:board/ti/am335x/board.c L:718 F:board_init end: F:commooard_r.cL:403NAND:  128 MiB F:commooard_r.cL:423 MMC:   OMAP SD/MMC: 0 OMAP SD/MMC: 1 Loading Environment from FAT... Unable to use mmc 0:1... Failed (-5) No USB device found <ethaddr> not set. Validating first E-fuse MAC Net:   eth0: ethernet@4a100000 Hit any key to stop autoboot:  0 => setenv ipaddr 172.30.131.12 => setenv serverip 172.30.131.200 => printenv arch=arm args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype} baudrate=115200 board=am335x boot_a_script=load ${devtype} ${devnum}{distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr} boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}{distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi boot_extlinux=sysboot ${devtype} ${devnum}{distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf boot_fdt=try boot_fit=0 boot_net_usb_start=usb start boot_prefixes=/ /boot/ boot_script_dhcp=boot.scr.uimg boot_scripts=boot.scr.uimg boot.scr boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 nand0 pxe dhcp bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; run distro_bootcmd bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci; bootcmd_legacy_mmc0=setenv mmcdev 0; setenv bootpart 0:2 ; run mmcboot bootcmd_legacy_mmc1=setenv mmcdev 1; setenv bootpart 1:2 ; run mmcboot bootcmd_mmc0=setenv devnum 0; run mmc_boot bootcmd_mmc1=setenv devnum 1; run mmc_boot bootcmd_nand=run nandboot bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi bootcount=6 bootdelay=2 bootdir=/boot bootenvfile=uEnv.txt bootfile=zImage bootm_size=0x10000000 bootpart=0:2 bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr} console=ttyO0115200n8 cpu=armv7 dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1 dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1 dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;u-boot-spl-os part 0 6;kernel part 0 8;rootfs part 0 9 dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000 distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done efi_dtb_prefixes=/ /dtb/ /dtb/current/ envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi; eth1addr=90:70:65:db:2a:7e ethact=ethernet@4a100000 ethaddr=90:70:65:db:2a:7c fdt_addr_r=0x88000000 fdtaddr=0x88000000 fdtcontroladdr=8df1e8f0 fdtfile=undefined findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = A335PBGL; then setenv fdtfile am335x-pocketbeagle.dtb; fi; if test $board_name = BBBW; then setenv fdtfile am335x-boneblack-wireless.dtb; fi; if test $board_name = BBG1; then setenv fdtfile am335x-bonegreen.dtb; fi; if test $board_name = BBGW; then setenv fdtfile am335x-bonegreen-wireless.dtb; fi; if test $board_name = BBBL; then setenv fdtfile am335x-boneblue.dtb; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $board_name = A335_ICE; then setenv fdtfile am335x-icev2.dtb; fi; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi; finduuid=part uuid mmc ${bootpart} uuid fit_bootfile=fitImage fit_loadaddr=0x87000000 importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize} init_console=if test $board_name = A335_ICE; then setenv console ttyO3115200n8;else setenv console ttyO0115200n8;fi; ipaddr=172.30.131.12 kernel_addr_r=0x82000000 load_efi_dtb=load ${devtype} ${devnum}{distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile} loadaddr=0x82000000 loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile} loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile} loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile}; loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile} loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi; mmcdev=0 mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; mmcrootfstype=ext4 rootwait mtdids=nand0=nand.0 mtdparts=mtdparts=nand.0:128k(NAND.SPL)128k(NAND.SPL.backup1)128k(NAND.SPL.backup2)128k(NAND.SPL.backup3)256k(NAND.u-boot-spl-os)1m(NAND.u-boot)128k(NAND.u-boot-env)128k(NAND.u-boot-env.backup1)8m(NAND.kernel)-(NAND.file-system) nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype} nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} NAND.u-boot-spl-os; nand read ${loadaddr} NAND.kernel; bootz ${loadaddr} - ${fdtaddr} nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system2048 nandrootfstype=ubifs rootwait=1 netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}{rootpath}${nfsopts} rw ip=dhcp netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr} netloadfdt=tftp ${fdtaddr} ${fdtfile} netloadimage=tftp ${loadaddr} ${bootfile} nfsopts=nolock partitions=uuid_disk=${uuid_gpt_disk};name=bootloaderstart=384Ksize=1792Kuuid=${uuid_gpt_bootloader};name=rootfsstart=2688Ksize=-uuid=${uuid_gpt_rootfs} pxefile_addr_r=0x80100000 ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype} ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr} ramdisk_addr_r=0x88080000 ramroot=/dev/ram0 rw ramrootfstype=ext2 rdaddr=0x88080000 rootpath=/export/rootfs scan_dev_for_boot=echo Scanning ${devtype} ${devnum}{distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi; scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}{distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}{distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}{distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile scan_dev_for_extlinux=if test -e ${devtype} ${devnum}{distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo script FAILED: continuing...; fi scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo script FAILED: continuing...; fi; done scriptaddr=0x80000000 serial#=90:70:65:db:2a:7c serverip=172.30.131.200 soc=am33xx spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype} spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootz ${loadaddr} spibusno=0 spiimgsize=0x362000 spiroot=/dev/mtdblock4 rw spirootfstype=jffs2 spisrcaddr=0xe0000 static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:ff stderr=serial@44e09000 stdin=serial@44e09000 stdout=serial@44e09000 update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile} usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi vendor=ti ver=U-Boot 2018.07 (Feb 28 2021 - 18:59:04 -0800) Environment size: 9886/131068 bytes => ping 172.30.131.200 link up on port 0 speed 100 full duplex Using ethernet@4a100000 device ARP Retry count exceeded; starting again ping failed; host 172.30.131.200 is not alive =>

vs1053b 用 NVIDIA linux 录音后倍速播放

原子的vs1053b模块, 采用的是 NVIDIA jetson nano 控制, 仿照例程编写的程序。 目前声音播放正常。 但是录音后5倍速播放,应该是数据丢失了。 抓 SPI 波形发现,SPI 速率跟不上,数据包之间间隔太大甚至毫秒级,提升了 SPI 速率现在达到 1 倍速。 第一次使用 vs1053b 模块,请教大神们,怎么设置寄存器降低 vs1053b 的数据采集量。 现在只考虑能正常录音就可以,不考虑音质音效等。

关于STM32定时器发送脉冲的问题

关于STM32定时器发送脉冲,STM32如何才能同时发送4路不同频率,不同数目的脉冲呢?我用定时器+DMA这种方法控制4个步进电机时,第一个电机和第四个电机之间还是有时间间隔,跑个2分钟位置就乱了,做不到同步啊 224.jpg (144.28 KB 下载次数: 0) 下载附件  保存到相册 2021-2-22 10:17 上传

单片机串口数据窜了 好奇怪

  就是发送到串口1的数据,会被串口3中断接收到   好奇怪。   串口3没有复用;把pb11的浮空输入改成上拉或下拉输入都不行,都能收到   修改优先级也不行   实在搞不懂。   上来请教各位大神,先谢谢了

求助单片机蓝牙触控灯的程序问题

#include <reg52.h> #include <stdio.h> #include "lcd1602.h" //ADC0809 sbit CLK=P3^4;         sbit ST=P3^5;         sbit EOC=P3^6;         sbit OE=P3^7; sbit RELAY = P3^3; unsigned int pass = 0; unsigned int ADCshow; unsigned char pressure = 50; unsigned char mode=0; unsigned char status = 0; void delay(unsigned int s)         {         while(s--); } void DelayMS(unsigned int ms) {          unsigned char i;         while(ms--)         {                  for(i=0;i<120;i++);         } } void Timer0_INT() interrupt 1 {         TH0=(65536-200)/256;         TL0=(65536-200)%256;         CLK=~CLK;          } void UART_init()    //设置串行通信 本晶振为11.0592MHZ,其他的就自己算一下应该设置多少 {       TMOD = 0x20;       TH1 = 0xfd;       TL1 = 0xfd;  //波特率9600       SM0 = 0;         SM1 = 1;   // 串口工作方式1 10位异步       REN = 1;  //串口允许接收       TR1 = 1;       EA = 1;       ES =1 ;  //串口中断 } void main(void) {                    RELAY=1;  //关灯           UART_init();       lcd_init(); //初始化1602                 TMOD=0x01; //设置定时器0                 TH0=(65536-200)/256; //初值重装                 TL0=(65536-200)%256;         EA=1;  //开总中断                 ET0=1;  //开定时器中断                 TR0=1;   //开定时器0                 while(1)                 {                                                  //adc0809读取数据                                                 ST=0;                                                 OE=0;                                                 ST=1;                                                 ST=0;                                                 while(EOC==0);                                                 OE=1;                                                 ADCshow=P1;                                                 OE=0;                      //lcd1602显示压力传感器值                                         LCD_ShowStr(00"Real:");                                         LCD_ShowChar(50ADCshow/100+'0');                                            LCD_ShowChar(60ADCshow%100/10 +'0');                                   LCD_ShowChar(70ADCshow%10 +'0');                                                                                                 if(ADCshow<pressure||pass==0x11)                                 {                                    RELAY=0;  //亮灯                                                                  }                                                          else                                 {  //否则                                          RELAY=1; //灭灯                                                                  }                                                           }                 } void UART_INTERRUPT() interrupt 4 {                       pass = SBUF;               RI = 0;                  SBUF = pass;  )               while(!TI);               TI = 0;   } 原理图

STM32的外部中断信号响应延迟问题

实测STM32的外部中断信号产生,到中断入口响应差不多有20多个us的延迟,这个是什么原因?

imx6u spi设备树问题如果确定

        imx6ull  设备树中 of_find_node_by_path("/soc/aips-bus@02000000/spba-bus@02000000/ecspi@02010000");        这串路径是如何确定的,如果需要修改成其他spi  该怎么修改呢