问答

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

麻花油条

TA的家园币:3624  

  • GD32F303RCT6 USART0的空闲中断进不去,仿真打断点也进不去中断

    intmain(void){//¿ÉÒÔ×öµ½´«ÊäÊý¾Ý³öÀ´£¬¶¨µã´«ÊäÊý¾Ý³öÀ´uint32_tStatus2=0;uint32_tStatus3;uint16_tx;dma_parameter_structdma_init_struct2;gpio_pin_remap_config(GPIO_SWJ_NONJTRST_REMAP,ENABLE);//ÏÂÔØ¿ÚNJTRSTÒý½Åµ±×öÆÕͨI/O¿Úrcu_ahb_clock_config(RCU_AHB_CKSYS_DIV1);systick_config();//1mssystickgpio_config();//PA1,PA2,PA3¹Ü½ÅÅäÖÃ/************************************************///UART0_initrcu_periph_clock_enable(RCU_AF);//Need!!!!//usart_halfduplex_enable(USART0);rcu_periph_clock_enable(RCU_USART0);//ʹÄÜUSART0ʱÖÓgpio_pin_remap_config(GPIO_USART0_REMAP,ENABLE);usart_deinit(USART0);//³õʼ»¯//¸´Î»Ê±ÖÓusart_baudrate_set(USART0,19200U);//¶¨Ò岨ÌØÂÊusart_receive_config(USART0,USART_RECEIVE_ENABLE);//½ÓÊÕʹÄÜusart_transmit_config(USART0,USART_TRANSMIT_ENABLE);//·¢ËÍʹÄÜusart_interrupt_enable(USART0,USART_INT_TC);//·¢ËÍÍê³ÉÖжÏusart_interrupt_enable(USART0,USART_INT_IDLE);//¿ÕÏÐÖжÏusart_enable(USART0);//Ä£¿éʹÄÜUSART_INT_TCnvic_irq_enable(USART0_IRQn,0,1);RX0_DMAquest_StartOrInit();TX0_DMAquest_StartOrInit();usart_dma_receive_config(USART0,USART_DENR_ENABLE);usart_dma_transmit_config(USART0,USART_DENT_ENABLE);//NVICEXTI_config();//timer_interrupt_flag_clear(TIMER0,TIMER_INT_FLAG_CH0);//timer_interrupt_enable(TIMER0,TIMER_INT_CH0);//usart_dma_transmit_config(USART0,USART_DENT_ENABLE);//usart_dma_receive_config(USART0,USART_DENR_ENABLE);/******************************************************//*configureDMAmode*///dma_circulation_disable(DMA1,DMA_

  • HC32L110 采集ADC有可能一直没有值吗

    先说现象:1.试产了1000个大约有20个,ADC采样一直通不过。复位以后程序又正常工作,采样正常。2.对不能正常工作的产品测量对应引脚:(1)引脚上模拟信号量在变化,0~3V。(2)ADC连续转换中断有产生,因为我的程序在转换完成中断会关闭ADC使能,把检测口关闭。还把光敏电阻的电源关闭。通过测量光敏电阻电源,和引脚上的变化。确定ADC程序在运行,正常结束。程序结构:1.上电后初始化ADC功能。关闭ADC。因为是低功耗项目,所以不用的时候都关闭了外设。2.在需要的时候,开启转换。转换完成中断后,把ADC值保存在数组中,关闭ADC。3.程序任务判断ADC的值,做出对应动作。出错在这里,外部模拟量变化,这里没有反应。我怀疑是我的ADC设置不对,但是又没有找到哪不对。其中,我实际使用中因为不停的开关BGR,发现BGR的使能时间对结果影响非常大。我实际测试当BGR使能时间大于1ms,结果比较稳定。我程序中是使能了1.5ms才开启的转换。实际电路中因为输入阻抗大,所以程序开启了电压跟随器功能。看具体的操作:需要转换时:开启光敏电源使能对应扫描通道使能ADC时钟使能ADC使能BGR延时1.5ms清除ADC连续转换完成中断标志中断使能复位ADC连续转换状态启动ADC转换ADC中断程序:清除连续转换完成中断获取对应通道ADC值保存在数组中。禁止BGR禁止ADC禁止ADC时钟禁止ADC中断关闭光敏电源使用时:取ADC数据赋给局部变量局部变量参与运算,判断数据在哪个区间段根据区间段做出对应动作。最后,希望有大佬能提供思路。我在考虑是不是要周期性重新初始化ADC,但是这个是治标不治本的办法,我没有找到为什么会出现这个。

    单片机 技术交流

    2023-12-20 12
  • 请教:单片机MSP430G2553掉电复位怎么处理?

    恳请诸位大侠帮帮忙。。。指教一下:单片机MSP430G2553掉电一段时间,电压慢慢回升后怎么让它有效复位正常工作?

    ST

    2022-04-20 2
  • AT32F403A替换STM32,想用扩展外设可在st的库中修改吗,如uart7

    使用了雅特力芯片更换了ST的芯片,后来改动原理新增的外设加到了雅特力拓展出来的接口上,但是工程基于ST标准库开发,怎么对库文件修改才能正常使用uart7呢,有没有大佬尝试过

    单片机 MUC 嵌入式

    2022-04-18 5
  • 哪里有CH32F103 usb host 支持HID设备的例程

    最近一个案子想用CH32F103的usbhost功能,从官网下载到的例程中发现usbhost没有支持usbhid设备。难道这样的通用功能模块都不能公开吗??想支持国产真有点难?请教各位大神怎么解,多谢

    wCH32 USB Host HID os

    2021-11-30 2
  • 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
  • Chip on IDE KF32 GPIO初始化问题

    这个初始化是不是定义的输入口全部上拉,为什么只有定义的最后一个输入口有上拉,前面的口都没有上拉,求解voidGPIOInit_Input_Config(GPIO_SFRmap*GPIOx,uint16_tGpioPin){/*初始化复位GPIOx外设,使能GPIOx外设时钟*/GPIO_Reset(GPIOx);/*配置Pxy作为输入模式*/GPIO_InitTypeDefGPIO_InitStructure;//GPIO_Struct_Init(&GPIO_InitStructure);GPIO_InitStructure.m_Pin=GpioPin;GPIO_InitStructure.m_Speed=GPIO_LOW_SPEED;//初始化GPIO输出速度GPIO_InitStructure.m_Mode=GPIO_MODE_IN;//初始化GPIO方向为输入GPIO_InitStructure.m_PullUp=GPIO_PULLUP;//GPIO_NOPULL;//初始化GPIO是否上拉不上拉GPIO_InitStructure.m_PullDown=GPIO_NOPULL;//GPIO_PULLUP;//初始化GPIO是否下拉不下拉GPIO_Configuration(GPIOx,&GPIO_InitStructure);}搜索复制

    Chip GPIO IDE ni

    2020-12-03 14
  • 都在涨价,灵动的价格如何

    价格波动严重不,求渠道商告知。

    价格波动 波动

    2020-10-28 22