-
GD32H757VGT6的硬件I2C问题
GD32H757VGT6的硬件I2C读写都一直卡在while(!i2c_flag_get(I2C0,I2C_FLAG_ADDSEND)),地址确认没有问题,时序是跟着手册里的时序表配置的,有大佬知道是为什么吗代码如下:初始化/*禁用I2C外设*/i2c_deinit(I2C0);//禁用从机地址i2c_address_disable(I2C0);/*配置时序(100kHz,满足t_VD;DAT≤3.45μs)*/i2c_timing_config(I2C0,14,3,0);//PSC=14,SDADEL=3,SCLDEL=0i2c_master_clock_config(I2C0,65,34);//SCLH=65,SCLL=34→周期≈10μs/*禁用自动结束模式(手动控制STOP条件)*/i2c_automatic_end_disable(I2C0);/*使能I2C*/i2c_enable(I2C0);i2c_nack_enable(I2C0);i2c_bus_timeout_a_config(I2C0,0x96);//超时阈值根据实际时钟调/*单字节写入*/intbyte_write(uint16_taddr,uint8_tdata){/*等待总线空闲*/while(i2c_flag_get(I2C0,I2C_FLAG_I2CBSY));/*配置传输3字节:地址高、地址低、数据*/i2c_transfer_byte_number_config(I2C0,3);/*发送起始条件*/i2c_start_on_bus(I2C0);/*3等待地址发送完成或检测错误*/i2c_master_addressing(I2C0,EEPROM_WRITE_ADDR,I2C_MASTER_TRANSMIT);while(!i2c_flag_get(I2C0,I2C_FLAG_ADDSEND)){if(i2c_flag_get(I2C0,I2C_FLAG_NACK)||i2c_flag_get(I2C0,I2C_FLAG_BERR)||i2c_flag_get(I2C0,I2C_FLAG_LOSTARB)){i2c_stop_on_bus(I2C0);i2c_flag_clear(I2C0,I2C_FLAG_NACK|I2C_FLAG_BERR|I2C_FLAG_LOSTARB);return-1;//错误处理}}i2c_flag_clear(I2C0,I2C_FLAG_ADDSEND);/*发送地址高字节*/i2c_data_transmit(I2C0,(addr>>8));while(!i2c_flag_get(I2C0,I2C_FLAG_TBE)){//等待发送缓冲区空}/*发送地址低字节*/i2c_data_transmit(I2C0,(addr&0xFF));while(!i2c_flag_get(I2C0,I2C_FLAG_TBE)){//等待发送缓冲区空}/*发送数据字节*/i2c_data_transmit(I2C0,data);while(!i2c_flag_get(I2C0,I2C_FLAG_TBE)){//等待发送缓冲区空}/*等待传输完成(TC标志)*/while(!i2c_flag_get(I2C0,I2C_FLA
2025-03-31 16 -
GD32f305使用官网USB Host例程出现问题
GD32f305使用官网USBHost例程,插入U盘后,一直进入中断,并且中断标志由断开连接中断
2025-01-23 20 -
N32G430能不能适应ST-Link进行debug呀?
公司有项目从STM32转N32,准备使用GCC工具链,之前用keil是可以用ST-Link调试的,现在用N32了,怎么获取ST-Link的下载算法呢,我看keil下载算法后缀是FLM,ST-LinkProgrammer下载算法是stldr。N32官方只提供了keil的下载算法,怎么转成ST-Link可用的GCC环境下的下载算法呢?
2025-01-21 14 -
gd32F450替换stm32f429
是用gd32f450替换好一点,还是gd32f470!!!!替换之后资源可以直接使用是吗
2025-01-11 13 -
GD32 Embedded Builder可以设置中文工程名和中文路径吗?
GD32EmbeddedBuilder可以设置中文工程名和中文路径吗?为什么build时Invalidargument不通过?
2024-12-10 18 -
单周期乘法器和17周期分频器我要怎么去使用它?
GD32E230系列的,里面描述的单周期乘法器和17周期分频器我要怎么去使用它?在哪里有详细的描述?
2024-12-10 13 -
vscode+GCC+Jlink烧录GD32程序时发生Writing target memory failed
首次用vscode来烧录(国产化的需要),仿真器是ArmV9,芯片是GD32F103ZET6,烧录配置想用JlnkSWD,但是用USB连接pc和仿真器--GD开发板后,点击vscode中的烧录,出现如下错误:网上找了很多帖子还没有解决,有思路的请指点下,谢谢
2024-11-06 77 -
HC32F460 USB使用
本帖最后由Pupil2013于2024-10-915:44编辑HC32F460USB使用
2024-10-09 12 -
stm32L431 I2C没有反应
买了一STM32L431CBT6的板子想简单验证一下IIC是否通信正常。stm32作为从机,同时买了一个USB转IIC的CH341模块,连接电脑通过电脑的IIC工具发送数据给到stm32,使用CUBEMXHAL编程在中断里面点个灯,发现连中断都没有进去,轮询模式获取IIC数据也是毫无反应,通过示波器量取SDA和SCL数据线信号,发现有信号,且信号是正常的,有大佬帮我能解惑嘛,第一次玩stm32。。。。
2024-08-20 10 -
gd32e230 IIC读数据问题
/*sendtheinternalregisteraddressto*/i2c_data_transmit(I2C0,read_address);/*waituntilBTCbitisset*/while(!i2c_flag_get(I2C0,I2C_FLAG_BTC);一直卡在上面请问什么原因?
2024-07-18 17 -
GD32A503 TIMER 上溢UP中断与CAP中断优先级有一定几率反转问题
测试硬件:GD32A503CC测试外设:TIMER0_CH1测试准备:PE5输入高频PWM中断优先级配置:UP中断高于CH1中断voidnvic_configuration(void){nvic_priority_group_set(NVIC_PRIGROUP_PRE1_SUB3);nvic_irq_enable(TIMER0_BRK_UP_TRG_CMT_IRQn,1,0);nvic_irq_enable(TIMER0_Channel_IRQn,1,1);}测试定时器配置:配置TIMER0_CH1为双沿输入捕获模式,使能TIMER0UP上溢与CH1中断。voidtimer_configuration(void){/*TIMER1configuration:inputcapturemode-------------------theexternalsignalisconnectedtoTIMER0CH1pin(PE5)therisingedgeisusedasactiveedgetheTIMER1CH0CVisusedtocomputethefrequencyvalue------------------------------------------------------------*/timer_ic_parameter_structtimer_icinitpara;timer_parameter_structtimer_initpara;rcu_periph_clock_enable(RCU_TIMER0);timer_deinit(TIMER0);/*TIMER0configuration*/timer_struct_para_init(&timer_initpara);timer_initpara.prescaler=99;timer_initpara.alignedmode=TIMER_COUNTER_EDGE;timer_initpara.counterdirection=TIMER_COUNTER_UP;timer_initpara.period=65535;timer_initpara.clockdivision=TIMER_CKDIV_DIV1;timer_initpara.repetitioncounter=0;timer_init(TIMER0,&timer_initpara);/*TIMER0configuration*//*TIMER0CH1inputcaptureconfiguration*/timer_channel_input_struct_para_init(&timer_icinitpara);timer_icinitpara.icpolarity=TIMER_IC_POLARITY_BOTH_EDGE;timer_icinitpara.icselection=TIMER_IC_SELECTION_DIRECTTI;timer_icinitpara.icprescaler=TIMER_IC_PSC_DIV1;timer_icinitpara.icfilter=0x0;timer_input_capture_config(TIMER0,TIMER_CH_1,&timer_icinitpara);/*auto-reloadpreloadenable*/timer_auto_reload_shadow_enable(TIMER0);/*clearchannel0interruptbit*/timer_interrupt_flag_clear(TIMER0,TIMER_INT_FLAG_UP
2024-06-18 11 -
关于GD32F103RCT6 GPIO输出最大速度设置不同出现BUG的问题
测试的输出IO口有PA4PA5PA6PA7PC4PC5PB0PB1PB2PB10PB11PB12PB13PB14输出IO口全部设置初始低电平推挽输出下拉模式输出最大速度作为观测变量测试的输入IO口有PA12PA11PA10PA9PA8PC9PC8PC7PC6PB15输入IO口全部设置下拉模式低速模式输出口输出经过一个1k电阻到另一个输入口全部正常通过输入高电平能接收到高电平中速模式PC4PC5输出高电平PA10没获取到高电平高速模式PB2PB10输出高电平PA9PB11PB12输出高电平PA8使用的是STM32CubeMx工具直接生成代码求答没有家园币。。
2024-05-21 20 -
HC32F460时钟模式错误出现串口乱码
使用了HC32F460PETB单片机,在批量生产中个别产品出现串口乱码情况,经排查是硬件电路设计为外部8M有源晶振,代码中en_clk_xtal_mode配置的是CLKXtalModeOsc=1u,后将代码配置修改为CLKXtalModeExtclk=1u后串口打印正常,有大神能帮忙解释下原理吗?为什么这个地方配置错误,产品会出现问题,之前小批量生产的时候没有出现乱码现象。
2024-04-28 21 -
有没有大佬有GD32E103R系列
有没有大佬有GD32E103R系列的USART接收普通中断和USART接收空闲DMA中断的demo
2024-03-02 16 -
请问hc32f005的flash的擦写次数是多少?
想用flash做数据存储、没找到相关文档呢?
2024-01-10 16