问答

汇集网友智慧,解决技术难题

flycamelaaa

TA的家园币:6455  

  • GD32w515 qspi 配置错误 新手求帮助!

    使用引脚PA9,PA10,PA11,PA12,PB3,PB4我在读取芯片id时读取的是88,我查看芯片手册应该是引脚复用为GPIO_AF_3和GPIO_AF_4,但是还是不对,示波器打出来的波形很奇怪,新手求帮助!配置代码如下:rcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable(RCU_GPIOB);rcu_periph_clock_enable(RCU_GPIOC);gpio_af_set(GPIOA,GPIO_AF_3,GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12);gpio_mode_set(GPIOA,GPIO_MODE_AF,GPIO_PUPD_NONE,GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12);gpio_output_options_set(GPIOA,GPIO_OTYPE_PP,GPIO_OSPEED_166MHZ,GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12);gpio_af_set(GPIOB,GPIO_AF_4,GPIO_PIN_3|GPIO_PIN_4);gpio_mode_set(GPIOB,GPIO_MODE_AF,GPIO_PUPD_NONE,GPIO_PIN_3|GPIO_PIN_4);gpio_output_options_set(GPIOB,GPIO_OTYPE_PP,GPIO_OSPEED_166MHZ,GPIO_PIN_3|GPIO_PIN_4);qspi_init_structInit;//rcu_periph_clock_enable(RCU_GTZC);//tzgpc_tzspc_peripheral_attributes_config(TZGPC_PERIPH_QSPI_FLASHREG,TZGPC_TZSPC_PERIPH_SEC);qspi_flash_gpio_config();//qspi_deinit();rcu_periph_clock_enable(RCU_QSPI);Init.prescaler=1;/*QSPIclock=AHBCLK/(ClockPrescaler+1)*/Init.fifo_threshold=10;Init.sample_shift=QSPI_SAMPLE_SHIFTING_NONE;//QSPI_SAMPLE_SHIFTING_NONE;Init.flash_size=22;/*2^(FlashSize+1)*****numberofaddressbits=FlashSize+1*/Init.cs_high_time=QSPI_CS_HIGH_TIME_1_CYCLE;Init.clock_mode=QSPI_CLOCK_MODE_0;qspi_init(&Init);

    gp 错误 GD32W515 spi QSPI GD32

    2024-05-21 5
  • 关于GD32F103RCT6 GPIO输出最大速度设置不同出现BUG的问题

    测试的输出IO口有PA4PA5PA6PA7PC4PC5PB0PB1PB2PB10PB11PB12PB13PB14输出IO口全部设置初始低电平推挽输出下拉模式输出最大速度作为观测变量测试的输入IO口有PA12PA11PA10PA9PA8PC9PC8PC7PC6PB15输入IO口全部设置下拉模式低速模式输出口输出经过一个1k电阻到另一个输入口全部正常通过输入高电平能接收到高电平中速模式PC4PC5输出高电平PA10没获取到高电平高速模式PB2PB10输出高电平PA9PB11PB12输出高电平PA8使用的是STM32CubeMx工具直接生成代码求答没有家园币。。

  • GD32F407在使用SPI2时读出flash_id为0XFFFFFF

    请问有遇到这种情况么,怎么处理

  • GD32 i2c Bootloader 操作问题

    目前只能通过i2cBootloader给被升级设备烧录hex文件,选个GD32E232开发板作为串口转i2c设备,连接被升级设备(mcu为GD32E501且是裸片),其他都是按正确操作来的(boot0拉高pf0悬空),在通过AllinOneProgrammer连接i2c时连接不上,提示设备notfound,逻辑分析仪看了看,发送了从地址(0x70)后nack了,这是怎么回事?

    国产芯片 技术交流

    2023-12-25 6
  • AC781x系列jlink烧录导致Keil卡死的问题有办法解决吗?

    我现在在使用AC7811QBEF的MCU,使用Keil下载的有时能够下载成功,有时候又下载失败。以前下载失败之后我就会使用Jflash,但这次情况很严重,Jflash也会出现卡死的,最后抛出来的错误如下图所示,我想问就没有办法彻底解决这种问题吗?我实在是不想能不能下载成功全看运气了

  • STM32F407 三重ADC采样设置死机问题

    使用STM32F407三重ADC,ADC1ADC2ADC3分别分配8个通道(ADC1把芯片测温等三个内部通道算上),一个24个通道。定时器TIMER3定时触发ADC1采样。ADC采用同步规则模式,DMAMODE1模式传送数据。遇到问题如下:1、按上述配置后,程序直接死机。2、三重ADC,ADC1ADC2ADC3通道数改为每个ADC带1通道可以运行,但ADC采样数据跳动非常大,实际硬件ADC口电压是稳定值。3、ADC1ADC2ADC3通道数改为每个ADC带3通道及以上时出现程序直接死机。有哪位使用过三重ADC遇到类似问题吗?外部采样数据通道要21个通道,除了三重ADC还有别的方式能采样这么多通道吗?

    2023-10-30 9
  • Keil5 通过JLINK连接 LKS32MC455RCT8 下载错误

    Targetinfo:------------Device:LKS32MC455RCT8VTarget=3.293VStateofPins:TCK:0,TDI:0,TDO:1,TMS:1,TRES:1,TRST:1Hardware-Breakpoints:6Software-Breakpoints:8192Watchpoints:4JTAGspeed:500kHzEraseFailed!Error:FlashDownloadfailed-"Cortex-M4"FlashLoadfinishedat10:12:43

    LKS MCU

    2023-10-28 7
  • GD32F150的定时器来计数怎么用?

    大家好,我用GD32F150的定时器来计数,72MHZ时钟,采用SPM单脉冲模式,预期的功能是,通过CEN使能计数器以后,开始计数到一个值,然后停止计数。设置UPDATEFLAG标志。然后我去读这个标志,关闭定时器。算是一个延时功能。但我按官方例子配置后,发现并不如预期(末尾描述)。我的配置是:timer_oc_parameter_structtimer_ocinitpara;timer_parameter_structtimer_initpara;timer_ic_parameter_structtimer_icinitpara;rcu_periph_clock_enable(RCU_TIMER2);timer_deinit(TIMER2);timer_initpara.prescaler=71;timer_initpara.alignedmode=TIMER_COUNTER_EDGE;timer_initpara.counterdirection=TIMER_COUNTER_UP;timer_initpara.period=49999;//cartimer_initpara.clockdivision=TIMER_CKDIV_DIV1;timer_initpara.repetitioncounter=0;timer_init(TIMER2,&timer_initpara);timer_update_event_enable(TIMER2);timer_ocinitpara.ocpolarity=TIMER_OC_POLARITY_HIGH;timer_ocinitpara.outputstate=TIMER_CCX_DISABLE;timer_ocinitpara.ocidlestate=TIMER_OC_IDLE_STATE_LOW;timer_channel_output_config(TIMER2,TIMER_CH_1,&timer_ocinitpara);timer_channel_output_pulse_value_config(TIMER2,TIMER_CH_1,19999);//cvtimer_channel_output_mode_config(TIMER2,TIMER_CH_1,TIMER_OC_MODE_TIMING);timer_channel_output_shadow_config(TIMER2,TIMER_CH_1,TIMER_OC_SHADOW_DISABLE);timer_single_pulse_mode_config(TIMER2,TIMER_SP_MODE_SINGLE);timer_update_event_enable(TIMER2);//updistimer_update_source_config(TIMER2,TIMER_UPDATE_SRC_REGULAR);timer_enable(TIMER2);配置后,循环读取标志位,发现标志位一直位0,同时,计数器值也一直在变,并没有停下来,和单脉冲模式表达的不同。f0=timer_flag_get(TIMER2,TIMER_FLAG_UP);N0=timer_counter_read(TIMER2);请问各位高手,单脉冲模式怎么用呢?怎么配置?官方例子是

  • 小华单片机HC32F460的跑官方例程时会发送不成功

    目前在调试HC32F460时会卡在如下代码:在while(CAN_GetStatus(CAN_UNIT,CAN_FLAG_STB_TX)==RESET){},哪位大佬可以指点一下吗?staticvoidCanTx(void){uint8_ti;staticuint8_tu8Data;for(i=0U;i<CAN_TX_DATA_SIZE;i++){m_stcTx1.au8Data=u8Data++;m_stcTx2.au8Data=u8Data++;m_stcTx3.au8Data=u8Data++;}/*FramewithCAN_ID1*/m_stcTx1.u32Ctrl=0x0UL;m_stcTx1.u32ID=CAN_TX_ID1;m_stcTx1.IDE=CAN_TX_ID1_IDE;m_stcTx1.DLC=CAN_TX_DLC;(void)CAN_FillTxFrame(CAN_UNIT,CAN_TX_BUF_PTB,&m_stcTx1);/*StartPTBTX*/CAN_StartTx(CAN_UNIT,CAN_TX_REQ_PTB);/*Checktransmissionend.*/while(CAN_GetStatus(CAN_UNIT,CAN_FLAG_PTB_TX)==RESET){}CAN_ClearStatus(CAN_UNIT,CAN_FLAG_PTB_TX);/*FramewithCAN_ID2*/m_stcTx2.u32Ctrl=0x0UL;m_stcTx2.u32ID=CAN_TX_ID2;m_stcTx2.IDE=CAN_TX_ID2_IDE;m_stcTx2.DLC=CAN_TX_DLC;(void)CAN_FillTxFrame(CAN_UNIT,CAN_TX_BUF_STB,&m_stcTx2);/*FramewithCAN_ID3*/m_stcTx3.u32Ctrl=0x0UL;m_stcTx3.u32ID=CAN_TX_ID3;m_stcTx3.IDE=CAN_TX_ID3_IDE;m_stcTx3.DLC=CAN_TX_DLC;(void)CAN_FillTxFrame(CAN_UNIT,CAN_TX_BUF_STB,&m_stcTx3);/*StartSTBTX*/CAN_StartTx(CAN_UNIT,CAN_TX_REQ_STB_ALL);/*Checktransmissionend.*/while(CAN_GetStatus(CAN_UNIT,CAN_FLAG_STB_TX)==RESET){}CAN_ClearStatus(CAN_UNIT,CAN_FLAG_STB_TX);}

    hc32f460 CAN

    2023-03-02 6
  • 执行跳转语句会进入硬件中断,关闭中断跳转会停一次

    我在APP工程中使用attribute语句在0x8008的位置放置了一个入口函数,用于跳转到0x8200的APP工程。在BOOT工程下增加了跳转语句跳转到0x8008这个入口函数(((void()(void))(0x00008008)))();但是运行这一条语句的时候会进入硬件中断,后来增加了__disable_fiq()语句关闭硬件中断,全速运行会在0x8008处停下来!必须再点一次全速运行才正常。但如果调试的时候给这句话打断点,运行到这条语句的时候点击stepinto或者step都可以正常运行。下面是0x8008的入口函数和相应的汇编下面是我的跳转语句和跳转语句的汇编

  • cc2640 支持BT 5.1 HCI cmd 接仪器测试AOX function么?

    您好,我们使用CC2640lauchpad遇到一个问题,目前想用这个EVB开发BTAOA应用,但接CMW仪器测试这部分无法进行下去。想请教这颗IC目前有支持BT5.1HCIcmdimg吗?可否给我们使用,谢谢

  • CC2640的I2C问题请教

    我用CC2640的I2C模块给OPT3001光照芯片写值,发现写不进去。该芯片寄存器是16位的,咱I2C模块可以写16位寄存器的值吗???我就想给0x01寄存器写个0x54,0x10,代码如下:voidSet_OPT3001(uint8_tlimit){Reset_OPT3001_Register();txBuffer[0]=0x54;txBuffer[1]=0x10;i2cTrans.writeCount=3;i2cTrans.writeBuf=txBuffer;i2cTrans.readCount=0;i2cTrans.readBuf=rxBuffer;i2cTrans.slaveAddress=0x44;I2C_transfer(handle,&i2cTrans);}

    CC2640 I2c AN trans buffer

    2020-12-08 4
  • CC2640的I2C问题?

    我用CC2640的I2C操作寄存器读写值,示波器抓不到要写值的波形(可以抓到从机地址和寄存器地址),但是值可以写进去。这是什么原因呢,困扰了我好久了。求大神解答~I2C传输就用的官方的I2C_transfer函数

  • 求助:在我们自己原来cc2640的板子上更换cc2642但不工作

    公司原来有一块可以正常运行cc2640的板子,但最近因为空间不足换了cc2642r1。我们把2640更换成2642,更换了24M的晶振。现在2642运行simplepripheral的时候串口已经可以输出,显示已经在广播,但我们一直搜不到它的广播。我量了一下VDDR是1.68v,用示波器量了48M晶振也起振了。天线用的是RFP单端天线,RFN是空着的。请问对这个问题有什么相关的建议?