-
ch32v103 设置中断优先级分组0报错
[i=s] 本帖最后由 Lioyae 于 2024-9-23 14:06 编辑 [/i] [color=#24292e][backcolor=rgb(255, 255, 255)][font="][size=16px]使用CH32V103C8TC设置中断优先级分组时,设置为NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);[/size][/font][/backcolor][/color][color=#24292e][backcolor=rgb(255, 255, 255)][font="][size=16px]编译报错[/size][/font][/backcolor][/color] [img]https://img.picui.cn/free/2024/09/23/66f102cdbadb8.png[/img][color=#24292e][backcolor=rgb(255, 255, 255)][font="][size=16px]而使用NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);[/size][/font][/backcolor][/color] [color=#24292e][backcolor=rgb(255, 255, 255)][font="][size=16px]却不会报错[/size][/font][/backcolor][/color] [img]https://img.picui.cn/free/2024/09/23/66f102cd40b5d.png[/img] 这是什么原因呢??
1795浏览量 4回复量 关注量 -
GD32E230作为IIC从机时接收数据会卡顿是什么原因
在配置完成IIC从机模式后,主机向从机发送9位数据,在从机收到数据后主函数的代码会跑不到,不知道在什么地方造成了阻塞,接收完毕会产生多次的STPDEF中断吗,但是IIC从机模式的故障应该也不会影响到主函数的运行才对,有没有懂的大佬帮忙分析一下谢谢,代码如下[color=#dadada][backcolor=rgb(30, 30, 30)][font=Consolas, "][size=17px][color=#b4b4b4]#[/color][color=#9a9a9a]include[/color][color=#c8c8c8] [/color][color=#e8c9bb]"[/color][color=#ce9178]gd32e230.h[/color][color=#e8c9bb]"[/color] [color=#b4b4b4]#[/color][color=#9a9a9a]define[/color][color=#c8c8c8] [/color][color=#beb7ff]MSG_RECV_BYTE_SUM[/color][color=#c8c8c8] [/color][color=#b5cea8]9[/color] [color=#b4b4b4]#[/color][color=#9a9a9a]define[/color][color=#c8c8c8] [/color][color=#beb7ff]MSG_SEND_BYTE_SUM[/color][color=#c8c8c8] [/color][color=#b5cea8]6[/color] [color=#b4b4b4]#[/color][color=#9a9a9a]define[/color][color=#c8c8c8] [/color][color=#beb7ff]I2C0_OWN_ADDRESS7[/color][color=#c8c8c8] [/color][color=#b5cea8]0x44[/color] [color=#569cd6]void[/color] [color=#dcdcaa]iic_msg_gpio_config_init[/color][color=#b4b4b4]([/color][color=#569cd6]void[/color][color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#57a64a] /* enable GPIOB clock */[/color] [color=#dcdcaa]rcu_periph_clock_enable[/color][color=#b4b4b4]([/color]RCU_GPIOB[color=#b4b4b4]);[/color] [color=#57a64a] /* enable I2C0 clock */[/color] [color=#dcdcaa]rcu_periph_clock_enable[/color][color=#b4b4b4]([/color]RCU_I2C0[color=#b4b4b4]);[/color] [color=#57a64a] /* connect PB6 to I2C0_SCL */[/color] [color=#dcdcaa]gpio_af_set[/color][color=#b4b4b4]([/color]GPIOB[color=#b4b4b4],[/color] GPIO_AF_1[color=#b4b4b4],[/color] GPIO_PIN_6[color=#b4b4b4]);[/color] [color=#57a64a] /* connect PB7 to I2C0_SDA */[/color] [color=#dcdcaa]gpio_af_set[/color][color=#b4b4b4]([/color]GPIOB[color=#b4b4b4],[/color] GPIO_AF_1[color=#b4b4b4],[/color] GPIO_PIN_7[color=#b4b4b4]);[/color] [color=#57a64a] /* configure GPIO pins of I2C0 */[/color] [color=#dcdcaa]gpio_mode_set[/color][color=#b4b4b4]([/color]GPIOB[color=#b4b4b4],[/color] GPIO_MODE_AF[color=#b4b4b4],[/color] GPIO_PUPD_PULLUP[color=#b4b4b4],[/color] GPIO_PIN_6[color=#b4b4b4]);[/color] [color=#dcdcaa]gpio_output_options_set[/color][color=#b4b4b4]([/color]GPIOB[color=#b4b4b4],[/color] GPIO_OTYPE_OD[color=#b4b4b4],[/color] GPIO_OSPEED_50MHZ[color=#b4b4b4],[/color] GPIO_PIN_6[color=#b4b4b4]);[/color] [color=#dcdcaa]gpio_mode_set[/color][color=#b4b4b4]([/color]GPIOB[color=#b4b4b4],[/color] GPIO_MODE_AF[color=#b4b4b4],[/color] GPIO_PUPD_PULLUP[color=#b4b4b4],[/color] GPIO_PIN_7[color=#b4b4b4]);[/color] [color=#dcdcaa]gpio_output_options_set[/color][color=#b4b4b4]([/color]GPIOB[color=#b4b4b4],[/color] GPIO_OTYPE_OD[color=#b4b4b4],[/color] GPIO_OSPEED_50MHZ[color=#b4b4b4],[/color] GPIO_PIN_7[color=#b4b4b4]);[/color] [color=#57a64a] /* I2C clock configure */[/color] [color=#dcdcaa]i2c_clock_config[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] [color=#b5cea8]400000[/color][color=#b4b4b4],[/color] I2C_DTCY_2[color=#b4b4b4]);[/color] [color=#57a64a] /* I2C address configure */[/color] [color=#dcdcaa]i2c_mode_addr_config[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_I2CMODE_ENABLE[color=#b4b4b4],[/color] I2C_ADDFORMAT_7BITS[color=#b4b4b4],[/color] [color=#beb7ff]I2C0_OWN_ADDRESS7[/color][color=#b4b4b4]);[/color] [color=#57a64a] /* enable I2C0 */[/color] [color=#dcdcaa]i2c_enable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4]);[/color] [color=#57a64a] /* enable acknowledge */[/color] [color=#dcdcaa]i2c_ack_config[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_ACK_ENABLE[color=#b4b4b4]);[/color] [color=#dcdcaa]nvic_irq_enable[/color][color=#b4b4b4]([/color]I2C0_EV_IRQn[color=#b4b4b4],[/color] [color=#b5cea8]23[/color][color=#b4b4b4]);[/color] [color=#dcdcaa]nvic_irq_enable[/color][color=#b4b4b4]([/color]I2C0_ER_IRQn[color=#b4b4b4],[/color] [color=#b5cea8]32[/color][color=#b4b4b4]);[/color] [color=#57a64a] /* enable the I2C0 interrupt */[/color] [color=#dcdcaa]i2c_interrupt_enable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_ERR[color=#b4b4b4]);[/color] [color=#dcdcaa]i2c_interrupt_enable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_EV[color=#b4b4b4]);[/color] [color=#dcdcaa]i2c_interrupt_enable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_BUF[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#569cd6]void[/color] [color=#dcdcaa]i2c0_event_irq_handler[/color][color=#b4b4b4]([/color][color=#569cd6]void[/color][color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_ADDSEND[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#b4b4b4] [/color][color=#57a64a]// 0:接收端[/color] [color=#b4b4b4] [/color][color=#57a64a]// 1:发送端[/color] [color=#9cdcfe]tI2cSlave[/color][color=#b4b4b4].[/color][color=#9cdcfe]uFlag[/color][color=#b4b4b4].[/color][color=#9cdcfe]Bits[/color].[color=#9cdcfe]DirState[/color] [color=#b4b4b4]=[/color] [color=#dcdcaa]i2c_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_FLAG_TR[color=#b4b4b4]);[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#9cdcfe]tI2cSlave[/color][color=#b4b4b4].[/color][color=#9cdcfe]uFlag[/color][color=#b4b4b4].[/color][color=#9cdcfe]Bits[/color].[color=#9cdcfe]DirState[/color] [color=#b4b4b4]==[/color] RESET[color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] msg_iic_recv_buf_count [color=#b4b4b4]=[/color] [color=#b5cea8]0[/color][color=#b4b4b4];[/color] [color=#d8a0df]for[/color] [color=#b4b4b4]([/color][color=#569cd6]uint8_t[/color] [color=#9cdcfe]i[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i[/color] [color=#b4b4b4]<[/color] [color=#beb7ff]MSG_RECV_BYTE_SUM[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i[/color][color=#b4b4b4]++)[/color] [color=#b4b4b4]{[/color] [color=#9cdcfe]i2c_rxbuffer1[/color][color=#b4b4b4][[/color][color=#9cdcfe]i[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0[/color][color=#b4b4b4];[/color] [color=#b4b4b4]}[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#b4b4b4]{[/color] [color=#57a64a] /* clear I2C_TDATA register */[/color] [color=#dcdcaa]i2c_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_FLAG_TBE[color=#b4b4b4]);[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]soft_versions[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0x00[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]0[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]soft_versions[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]1[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]KEY_state[/color][color=#b4b4b4];[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]reserved_1[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0x00[/color][color=#b4b4b4];[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]reserved_2[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0x00[/color][color=#b4b4b4];[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]reserved_3[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0x00[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]2[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]reserved_1[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]3[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]reserved_2[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]4[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]reserved_3[/color][color=#b4b4b4];[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]check_sum[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0[/color][color=#b4b4b4];[/color] [color=#569cd6]uint32_t[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0[/color][color=#b4b4b4];[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]+=[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]0[/color][color=#b4b4b4]];[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]+=[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]1[/color][color=#b4b4b4]];[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]+=[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]2[/color][color=#b4b4b4]];[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]+=[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]3[/color][color=#b4b4b4]];[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]+=[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]4[/color][color=#b4b4b4]];[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]=[/color] [color=#b4b4b4]~[/color][color=#9cdcfe]cheak[/color][color=#b4b4b4];[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]cheak[/color] [color=#b4b4b4]+[/color] [color=#b5cea8]1[/color][color=#b4b4b4];[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color][color=#b5cea8]5[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]cheak[/color][color=#b4b4b4];[/color] [color=#9cdcfe]slave_msg_send[/color][color=#b4b4b4].[/color][color=#9cdcfe]check_sum[/color] [color=#b4b4b4]=[/color] [color=#9cdcfe]cheak[/color][color=#b4b4b4];[/color] msg_iic_send_buf_count [color=#b4b4b4]=[/color] [color=#b5cea8]0[/color][color=#b4b4b4];[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* clear the ADDSEND bit */[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_ADDSEND[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_RBNE[color=#b4b4b4]))[/color][color=#57a64a] // && dma_flag_get(DMA_RX_CH, DMA_FLAG_FTF)[/color] [color=#b4b4b4]{[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color]msg_iic_recv_buf_count [color=#b4b4b4]<[/color] [color=#beb7ff]MSG_RECV_BYTE_SUM[/color][color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#9cdcfe]i2c_rxbuffer1[/color][color=#b4b4b4][[/color]msg_iic_recv_buf_count [color=#b4b4b4]=[/color] [color=#dcdcaa]i2c_data_receive[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4]);[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color]msg_iic_recv_buf_count [color=#b4b4b4]==[/color] [color=#b4b4b4]([/color][color=#beb7ff]MSG_RECV_BYTE_SUM[/color] [color=#b4b4b4]-[/color] [color=#b5cea8]1[/color][color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]UpdateReceiveProc[/color][color=#b4b4b4]();[/color] [color=#b4b4b4]}[/color] [color=#b4b4b4]++[/color]msg_iic_recv_buf_count[color=#b4b4b4];[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_data_receive[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#d8a0df]if[/color] [color=#b4b4b4](([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_TBE[color=#b4b4b4])))[/color][color=#57a64a] // && dma_flag_get(DMA_TX_CH, DMA_FLAG_FTF)[/color] [color=#b4b4b4]{[/color] [color=#57a64a] /* send a data byte */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color]msg_iic_send_buf_count [color=#b4b4b4]<[/color] [color=#beb7ff]MSG_SEND_BYTE_SUM[/color][color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#57a64a] /* if reception data register is not empty, I2C0 will read a data from I2C_RDATA */[/color] [color=#dcdcaa]i2c_data_transmit[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] [color=#9cdcfe]i2c_txbuffer[/color][color=#b4b4b4][[/color]msg_iic_send_buf_count[color=#b4b4b4]]);[/color] msg_iic_send_buf_count[color=#b4b4b4]++;[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_data_transmit[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] [color=#b5cea8]0xff[/color][color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_STPDET[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#57a64a] /* clear STPDET interrupt flag */[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_STPDET[color=#b4b4b4]);[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#9cdcfe]tI2cSlave[/color][color=#b4b4b4].[/color][color=#9cdcfe]uFlag[/color][color=#b4b4b4].[/color][color=#9cdcfe]Bits[/color].[color=#9cdcfe]DirState[/color] [color=#b4b4b4]==[/color] RESET[color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#9cdcfe]tI2cSlave[/color][color=#b4b4b4].[/color][color=#9cdcfe]uFlag[/color][color=#b4b4b4].[/color][color=#9cdcfe]Bits[/color].[color=#9cdcfe]RecSuccess[/color] [color=#b4b4b4]=[/color] SUCCESS[color=#b4b4b4];[/color] msg_iic_recv_buf_count [color=#b4b4b4]=[/color] [color=#b5cea8]0x00[/color][color=#b4b4b4];[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#b4b4b4]{[/color] [color=#9cdcfe]tI2cSlave[/color][color=#b4b4b4].[/color][color=#9cdcfe]uFlag[/color][color=#b4b4b4].[/color][color=#9cdcfe]Bits[/color].[color=#9cdcfe]SendSuccess[/color] [color=#b4b4b4]=[/color] SUCCESS[color=#b4b4b4];[/color] [color=#9cdcfe]tI2cSlave[/color][color=#b4b4b4].[/color][color=#9cdcfe]SendSize[/color] [color=#b4b4b4]=[/color] [color=#b5cea8]0x00[/color][color=#b4b4b4];[/color][color=#57a64a] // 避免没有接收到命令重新发数据[/color] msg_iic_send_buf_count [color=#b4b4b4]=[/color] [color=#b5cea8]0x00[/color][color=#b4b4b4];[/color] [color=#b4b4b4]}[/color] [color=#dcdcaa]i2c_enable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#d8a0df]else[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_AERR[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#57a64a] /* clear STPDET interrupt flag */[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_AERR[color=#b4b4b4]);[/color] [color=#9cdcfe]tI2cSlave[/color][color=#b4b4b4].[/color][color=#9cdcfe]uFlag[/color][color=#b4b4b4].[/color][color=#9cdcfe]Bits[/color].[color=#9cdcfe]SendSuccess[/color] [color=#b4b4b4]=[/color] SUCCESS[color=#b4b4b4];[/color] [color=#b4b4b4]}[/color] [color=#b4b4b4]}[/color] [color=#569cd6]void[/color] [color=#dcdcaa]i2c0_error_irq_handler[/color][color=#b4b4b4]([/color][color=#569cd6]void[/color][color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#57a64a] /* no acknowledge received */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_AERR[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_AERR[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* SMBus alert */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_SMBALT[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_SMBALT[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* bus timeout in SMBus mode */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_SMBTO[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_SMBTO[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* over-run or under-run when SCL stretch is disabled */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_OUERR[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_OUERR[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* arbitration lost */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_LOSTARB[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_LOSTARB[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* bus error */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_BERR[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_BERR[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* CRC value doesn't match */[/color] [color=#d8a0df]if[/color] [color=#b4b4b4]([/color][color=#dcdcaa]i2c_interrupt_flag_get[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_PECERR[color=#b4b4b4]))[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c_interrupt_flag_clear[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_FLAG_PECERR[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#57a64a] /* disable the I2C0 interrupt */[/color] [color=#dcdcaa]i2c_interrupt_disable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_ERR[color=#b4b4b4]);[/color] [color=#dcdcaa]i2c_interrupt_disable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_BUF[color=#b4b4b4]);[/color] [color=#dcdcaa]i2c_interrupt_disable[/color][color=#b4b4b4]([/color]I2C0[color=#b4b4b4],[/color] I2C_INT_EV[color=#b4b4b4]);[/color] [color=#b4b4b4]}[/color] [color=#569cd6]void[/color] [color=#dcdcaa]I2C0_EV_IRQHandler[/color][color=#b4b4b4]([/color][color=#569cd6]void[/color][color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c0_event_irq_handler[/color][color=#b4b4b4]();[/color] [color=#b4b4b4]}[/color] [color=#569cd6]void[/color] [color=#dcdcaa]I2C0_ER_IRQHandler[/color][color=#b4b4b4]([/color][color=#569cd6]void[/color][color=#b4b4b4])[/color] [color=#b4b4b4]{[/color] [color=#dcdcaa]i2c0_error_irq_handler[/color][color=#b4b4b4]();[/color] [color=#b4b4b4]}[/color] [/size][/font][/backcolor][/color]
2063浏览量 9回复量 关注量 -
GD32H737 SPI datasize = 16 bit时无法收发
这段代码执行的是SPI收发功能,使用仿真器debug时会停在spi_i2s_data_receive处(等待接收标志位),但是如果把datasize改成8bit就能正常收发数据,请问是什么原因呢? uint32_t Spi_Transfer16(SPI_BusDef *spi, uint16_t *TxBuf, uint16_t *RxBuf,uint16_t len) { uint32_t ret= 0; Spi_Nss(spi->Nss, 0); spi_master_transfer_start(spi->Periph, SPI_TRANS_START); for(int i = 0; i
Periph) & SPI_FLAG_TP)); spi_i2s_data_transmit(spi->Periph, TxBuf[i]); RxBuf[i] = spi_i2s_data_receive(spi->Periph); } while (RESET == spi_i2s_flag_get(spi->Periph, SPI_FLAG_TC)); Spi_Nss(spi->Nss, 1); return ret; } 2721浏览量 12回复量 关注量 -
请问HC32F460和HC32F4A0的openocd官方有支持吗
[i=s] 本帖最后由 66ccff 于 2024-8-12 08:34 编辑 [/i] 我想在ubuntu上开发hc32,clion编译环境已经搭好了,但是hc32没有对应的openocd,无法下载调试有大佬指导一下吗
1164浏览量 2回复量 关注量 -
关于HC32M120J6TB连不上JLINK的问题 sos
[i=s] 本帖最后由 lsfsxfljj 于 2024-7-29 14:57 编辑 [/i] [attach]2280622[/attach]见参考的是HC32M120J6TB电机驱动MCU板,原理图名为MD_CTL_M120_LQ48_Rev1.0。连不上JLINK,发现里面有MD口R6接地了,R6修改到接5V;C3从100nf修改到470nf。仍然连不上。仔细观察MCU无虚焊,2个板子都是同一情况。
2859浏览量 0回复量 关注量 -
autochip调试AC7811 有没有好的开发平台 sos
目前用keil ,想换其他的或者IAR 用哪个版本比较合适。 主要能够方便用的。 eclipc 如果有环境搭建教程也可以推荐下。 谢谢!
865浏览量 0回复量 关注量 -
GigaDevice MCU 自己写bootloader烧录程序怎么写?
GigaDevice MCU 想自己写bootloader烧录程序,不知道怎么写。请教各路大神。
2519浏览量 26回复量 关注量 -
GD32F305ZET6 MCU跑死后,系统复位不响应
Hi 各位大牛,一个项目上用到GD32F305ZET6这款单片机,最近遇到个很困惑的问题描述如下: 1、QFP-144pin封装,只用到PA0(wakeup pin),ADC、I2C、UART以及少部分GPIO作为输入输出,12M的无源晶振作为MCU时钟,3.3V供电; 2、常温环境下,上电运行一切正常,跑了一段时间后发现MCU已经跑死,不响应外围IO上的高低电平信号,UART等接口均无响应; 3、按下NRST复位开关,MCU仍没有任何响应; 4、加看门狗后发现出问题时,看门口也无法复位; 5、电源供电,NRST电路等均按照手册要求设计,时钟波形均测量正常,并且没有发现异常case; 6、没有找到导致MCU跑死的必发路径,询问原厂FAE说可能是cache有问题,所以即使复位NRST管脚也不会重新加载cache,单问题是什么情况会导致cache异常,除cache外还有没有其他可能异常点; 综合看起来像是硬件上出问题了,这种情况还是第一次遇到。 以上,请各路大神帮忙看一下什么问题,谢谢!
1360浏览量 2回复量 关注量 -
Keil5 通过JLINK连接 LKS32MC455RCT8 下载错误
Target info:------------Device: LKS32MC455RCT8VTarget = 3.293VState of Pins: TCK: 0, TDI: 0, TDO: 1, TMS: 1, TRES: 1, TRST: 1Hardware-Breakpoints: 6Software-Breakpoints: 8192Watchpoints: 4JTAG speed: 500 kHz Erase Failed!Error: Flash Download failed - "Cortex-M4"Flash Load finished at 10:12:43
1384浏览量 7回复量 关注量 -
HCF420 ATIMER0 比较匹配触发DMA传输
[img]data:image/png;base64,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***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[/img] HCF420这个 高级定时器比较匹配触发DMA传输是不是这么设置的
839浏览量 1回复量 关注量 -
307rt-thread中用flashdb保存参数的吗?为什么kv越多越慢呢?
307大家有在rt-thread中用flashdb保存参数的吗?为什么kv越多越慢呢? 由于设备参数太多,估计有2000--3000条。运行日志也需要保存下来。所以我用了w25q32,采用flashdb来保存参数和日志。 但是实际使用中发现flashdb随着参数写入的增多,写入速度越来越慢,读取速度也越来越慢。不知道大家遇到过没有,如何解决这个问题呢?或者有其他嵌入式好用的KV数据推荐吗?
4894浏览量 8回复量 关注量