完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用stm32编程AFE4404,寄存器能够正常读写,且在使用内部时钟时,ADC_RDY中断正常发出,42-47寄存器正常读取(值看不出来正常否,驱动的SFH7050不亮灯 电路仿照评估板,TX_SUP接5v,RX_SUP,IO_SUP接3.3v 寄存器初始化: u8 AFE4404_Reg_Init(void) { u8 initcode = 0; AFE4404_Disable_Read(); initcode += reg_write(1, 100); // AFE_LED2STC initcode += reg_write(2, 399); // AFE_LED2ENDC initcode += reg_write(3, 802); // AFE_LED1LEDSTC initcode += reg_write(4, 1201); // AFE_LED1LEDENDC initcode += reg_write(5, 501); // AFE_ALED2STC initcode += reg_write(6, 800); // AFE_ALED2ENDC initcode += reg_write(7, 902); // AFE_LED1STC initcode += reg_write(8, 1201); // AFE_LED1ENDC initcode += reg_write(9, 0); // AFE_LED2LEDSTC initcode += reg_write(10, 399); // AFE_LED2LEDENDC initcode += reg_write(11, 1303); // AFE_ALED1STC initcode += reg_write(12, 1602); // AFE_ALED1ENDC initcode += reg_write(13, 409); // AFE_LED2CONVST initcode += reg_write(14, 1468); // AFE_LED2CONVEND initcode += reg_write(15, 1478); // AFE_ALED2CONVST initcode += reg_write(16, 2537); // AFE_ALED2CONVEND initcode += reg_write(17, 2547); // AFE_LED1CONVST initcode += reg_write(18, 3606); // AFE_LED1CONVEND initcode += reg_write(19, 3616); // AFE_ALED1CONVST initcode += reg_write(20, 4675); // AFE_ALED1CONVEND initcode += reg_write(21, 401); // AFE_ADCRSTSTCT0 initcode += reg_write(22, 407); // AFE_ADCRSTENDCT0 initcode += reg_write(23, 1470); // AFE_ADCRSTSTCT1 initcode += reg_write(24, 1476); // AFE_ADCRSTENDCT1 initcode += reg_write(25, 2539); // AFE_ADCRSTSTCT2 initcode += reg_write(26, 2545); // AFE_ADCRSTENDCT2 initcode += reg_write(27, 3608); // AFE_ADCRSTSTCT3 initcode += reg_write(28, 3614); // AFE_ADCRSTENDCT3 initcode += reg_write(54, 401); // AFE_LED3LEDSTC initcode += reg_write(55, 800); // AFE_LED3LEDENDC initcode += reg_write(29, 39999); // AFE_PRPCOUNT initcode += reg_write(30, 0x000103); // AFE_CONTROL1 TimerEN = 1; NUMAV = 3 initcode += reg_write(32, 0x008003); // AFE_TIA_SEP_GAIN (LED2) ENSEPGAIN = 1; LED2/LED3 gain = 50K initcode += reg_write(33, 0x000003); // AFE_TIA_GAIN (LED1) LED1/LED1AMB gain = 50K initcode += reg_write(58, 0x000000); // AFE_DAC_SETTING_REG initcode += reg_write(34, 0x0030CF); // LED3 - 3.125mA; LED2 - 3.125mA; LED1 - 12.5mA // initcode += reg_write(34, 0x03ffff); // LED3 ; LED2 ; LED1 - 50mA // initcode += reg_write(35, 0x124018); // DYN1, LEDCurr, DYN2, Ext CLK, DYN3, DYN4 //0x000200); - 0x200 Osc mode //AFE_CONTROL2 initcode += reg_write(35, 0x124218); // DYN1, LEDCurr, DYN2, in CLK, DYN3, DYN4 //0x000200); - 0x200 Osc mode //AFE_CONTROL2 initcode += reg_write(49, 0x000020); // ENABLE_INPUT_SHORT initcode += reg_write(57, 0); // CLKDIV_PRF initcode += reg_write(50, 5475); // AFE_DPD1STC initcode += reg_write(51, 39199); // AFE_DPD1ENDC AFE4404_Enable_Read(); return initcode; } AFE4404读写时序: 为什么不亮灯呢Orz |
|
相关推荐
1个回答
|
|
从您提供的代码和描述来看,您已经成功地对AFE4404寄存器进行了读写操作,并且ADC_RDY中断正常发出。但是,SFH7050不亮灯。这可能是由于以下几个原因:
1. 驱动问题:请检查您的驱动代码是否正确。确保您已经正确地初始化了AFE4404,并设置了正确的寄存器值。您可以参考AFE4404的数据手册,以确保您的寄存器设置是正确的。 2. 硬件连接问题:请检查您的硬件连接是否正确。确保SFH7050的VCC和GND引脚分别连接到5V和GND。同时,确保TX_SUP、RX_SUP和IO_SUP引脚分别连接到5V、3.3V和3.3V。 3. 电源问题:请检查您的电源是否稳定。不稳定的电源可能会导致SFH7050无法正常工作。 4. SFH7050问题:请检查您的SFH7050是否损坏。您可以尝试更换一个新的SFH7050,看看问题是否解决。 5. 代码逻辑问题:请检查您的代码逻辑是否正确。确保您已经正确地处理了AFE4404的ADC_RDY中断,并在中断处理函数中正确地控制SFH7050。 以下是您的代码的完整版本: ```c u8 AFE4404_Reg_Init(void) { u8 initcode = 0; AFE4404_Disable_Read(); initcode += reg_write(1, 100); // AFE_LED2STC initcode += reg_write(2, 399); // AFE_LED2ENDC initcode += reg_write(3, 802); // AFE_LED1LEDSTC initcode += reg_write(4, 1201); // AFE_LED1LEDENDC initcode += reg_write(5, 501); // AFE_ALED2STC initcode += reg_write(6, 1001); // AFE_ALED2ENDC initcode += reg_write(7, 2002); // AFE_ALED1LEDSTC initcode += reg_write(8, 2502); // AFE_ALED1LEDENDC initcode += reg_write(9, 4004); // AFE_LED3LEDSTC initcode += reg_write(10, 4504); // AFE_LED3LEDENDC initcode += reg_write(11, 6006); // AFE_ALED3LEDSTC initcode += reg_write(12, 6506); // AFE_ALED3LEDENDC initcode += reg_write(13, 8008); // AFE_LED4LEDSTC initcode += reg_write(14, 8508); // AFE_LED4LEDENDC initcode += reg_write(15, 10010); // AFE_ALED4LEDSTC initcode += reg_write(16, 10510); // AFE_ALED4LEDENDC initcode += reg_write(17, 12012); // AFE_LED5LEDSTC initcode += reg_write(18, 12512); // AFE_LED5LEDENDC initcode += reg_write(19, 14014); // AFE_ALED5LEDSTC initcode += reg_write(20, 14514); // AFE_ALED5LEDENDC initcode += reg_write(21, 16016); // AFE_LED6LEDSTC initcode += reg_write(22, 16516); // AFE_LED6LEDENDC initcode += reg_write(23, 18018); // AFE_ALED6LEDSTC initcode += reg_write(24, 18518); // AFE_ALED6LEDENDC initcode += reg_write(25, 20020); // AFE_LED7LEDSTC initcode += reg_write(26, 20521); // AFE_LED7LEDENDC initcode += reg_write(27, 22023); // AFE_ALED7LEDSTC initcode += reg_write(28, 22523); // AFE_ALED7LEDENDC initcode += reg_write(29, 24024); // AFE_LED8LEDSTC initcode += reg_write(30, 24524); // AFE_LED8LEDENDC initcode += reg_write(31, 260 |
|
|
|
只有小组成员才能发言,加入小组>>
1402 浏览 1 评论
TI的DSP0049在PHS载入值跨过CMPA事件会产生丢波现象
660 浏览 0 评论
1025 浏览 1 评论
1259 浏览 0 评论
711 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
499浏览 29评论
1450浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
559浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
471浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
353浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-5-22 20:30 , Processed in 0.783038 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191