-
PIC32MX534芯片调试时全局变量无法赋值,初始值为0XFFFF
PIC32MX534芯片调试时全局变量无法赋值,初始值为0XFFFF,使用赋值指令没有作用,值不改变,在其他位置没有使用,也没有赋值。哪位知道怎么解决。
2023-11-29 4 -
N76E003 I2C从机模式时主机连续写数据不应答
N76E003在I2C从机模式时主机连续写数据时写到第二个数据时从机就不应答,导致通讯失败,是怎么回事?搜索复制I2C从机初始化代码如下://;配置I2C--------------------------------------------------P13_Quasi_Mode;//setSCL(P13)isQuasimodeP14_Quasi_Mode;//setSDA(P14)isQuasimodeSDA=1;//setSDAandSCLpinshighSCL=1;set_P0SR_6;//setSCL(P06)isSchmitttriggeredinputselect.set_EI2C;//enableI2CinterruptbysettingIE1bit0//set_EA;I2ADDR=SLAVE_ADDRESS;//defineownslaveaddressset_I2CEN;//enableI2Ccircuitset_AA;
2022-08-24 6 -
stm32l476移植鸿蒙系统求助
本帖最后由walker2048于2020-12-1510:17编辑本人菜**一只,尝试着移植鸿蒙2.0系统到stm32l476rg_nucleo开发板。现在碰到一些问题,想问下论坛里的大佬是否可以给点提示,非常感谢。环境配置描述:目前已完成至设置好clang+gcc工具链(最后ld时使用arm-none-eabi-gcc)配置,编译参数根据cubeMX生成的makefile文件修改好了。该工具链与编译参数使用在cubeMX生成的标准程序里可正常运行(点灯OK,延时500毫秒OK,printf重定向串口输出OK)。---------------------------参数设置如下defines=-DUSE_HAL_DRIVER-DSTM32L476xxasmflags=-mcpu=cortex-m4-mthumb-mfpu=fpv4-sp-d16-mfloat-abi=hard#-fshort-enums-targetarm-none-eabi这两个参数是clang用的cflags=-mcpu=cortex-m4-mthumb-mfpu=fpv4-sp-d16-mfloat-abi=hard-fshort-enums-targetarm-none-eabi-fPICcflags_c=-Og-Wall-fdata-sections-ffunction-sections-g-gdwarf-2ldflags=-T../../vendor/st/board/stm32l476rg/STM32L476RGTx_FLASH.ld-lc-lm-lnosys-specs=nano.specs-mcpu=cortex-m4-mthumb-mfpu=fpv4-sp-d16-mfloat-abi=hard-Og-Wall-fdata-sections-ffunction-sections-g-gdwarf-2---------------------------问题描述如下,mcu的时钟定义设置为最高速80M,在cubeMX生成的标准程序里(不管是gcc编译或者clang编译),SystemCoreClock可顺利更新为80M,程序正常。但是在移植到鸿蒙的代码中,HAL库无法更新SystemCoreClock变量,不管是如何修改cubeMX的时钟定义(降频改配置,修改UART2时钟信号源),均无法正常运行点灯与串口输出功能,HAL_Delay功能也出错。目前判断是只要使用到SystemCoreClock变量的,都会出错。自己在单步调试中将SystemCoreClock变量赋值为80M,也无法正常运行程序。--------------------------想求助一下论坛里的大佬,是否能帮忙看一下到底是什么地方有问题。源码地址附上:https://gitee.com/walker2048/hmos_iot,请切换到clang_stm32
2020-12-15 12 -
谁能给解释下MS51FB9AE官方给提供的修改24M主频的函数?
本帖最后由taobaofarmer于2020-9-1215:35编辑官方给提供的例程,在Sample_Code->RegBased->Fsys_MoidfyHIRC->FSYS_MHIRC.C->MODIFY_HIRC(HIRC_24);函数里,该函数我给整理了下,只保留调整主频位24M的功能,代码如下:voidMake_HIRC_24MHz(void){u8idatahirc_map0,hirc_map1;//Checkifpoweronreset,modifyHIRCSFRS=0;//?1处IAPAL=0x38;set_IAPEN;{IAPAH=0x00;IAPCN=READ_UID;//?2处set_IAPGO;hirc_map0=IAPFD;IAPAL++;set_IAPGO;hirc_map1=IAPFD;}clr_IAPEN;TA=0xAA;TA=0x55;{RCTRIM0=hirc_map0;}TA=0xAA;TA=0x55;{RCTRIM1=hirc_map1;}//禁止低功耗模式PCON&=CLR_BIT4;}首先说明这个函数在MS51FB9AE上执行是失败的,大体过程我知道,是从系统默认的配置里读出24M主频的高低字节配置信息,然后写入RCTRIM0和RCTRIM1里,但是在?2处,为何IAPCN的指令是READ_UID呢?这个指令不是读芯片内部96位uniqueid吗?另外?1处SFRS=0;啥意思,难道是翻到SFR页0的意思吗?如果这是这样的话,SFRS寄存器是有TA保护的,单单SFRS=0;是不行的呀?
2020-09-11 22 -
关于熔丝位的设置
本帖最后由wgtwgtwgt于2020-9-1009:25编辑一直对AVR熔丝位的设置有个疑问,是每次下载程序的时候都要配置熔丝位吗?还是?
2020-09-10 5