1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先读读别的寄存器看能读对不
|
|
|
|
读控制寄存器也是错误的,可是我看了感觉时序什么的都是对的 以下是我写控制寄存器的程序: void WriteREG(unsigned long int puke) //0x209022激活自校准模式 this sub function is to write 24bit data to register { unsigned int flag = 0; unsigned int ShiftFlag = 0x0080; unsigned int High8 = 0, Low16 = 0, ShiftData = 0; int i = 0; High8 = (puke & 0x00FF0000)>>16; Low16 = puke & 0x0000FFFF; *P_IOA_Buffer = *P_IOA_Buffer & 0xFFFE; //set SCLK low *P_IOA_Buffer = *P_IOA_Buffer | 0x0010; //set TFS high *P_IOA_Buffer = *P_IOA_Buffer | 0x0008; //RFS taken high *P_IOA_Dir = *P_IOA_Dir | 0x0002; //to configure SDATA as ouput *P_IOA_Attrib = *P_IOA_Attrib | 0x0002; //start to write data to control register *P_IOA_Buffer = *P_IOA_Buffer & 0xFFDF; // A0 set LOW,write control reg Delay1us(); *P_IOA_Buffer = *P_IOA_Buffer & 0xFFEF; // TFS set low for(i = 0; i<24; i++) { if(0 == i) //deal with the high 8 bit { ShiftFlag = 0x0080; ShiftData = High8; } else if(8 == i) //deal with the low 16 bit { ShiftFlag = 0x8000; ShiftData = Low16; } flag = ShiftData & ShiftFlag; if(flag) { *P_IOA_Buffer = *P_IOA_Buffer | 0x0002;//SDATA=1 0010 // asm("INT OFF"); // Delay1us(); // asm("INT IRQ"); *P_IOA_Buffer = *P_IOA_Buffer | 0x0001;//SLCK a rising edge // asm("INT OFF"); Delay1us(); // asm("INT IRQ"); *P_IOA_Buffer = *P_IOA_Buffer & 0xFFFE;//SLCK a down edge Delay1us(); } else { *P_IOA_Buffer = *P_IOA_Buffer & 0xFFFD; //SDATA=0 // asm("INT OFF"); // Delay1us(); // asm("INT IRQ"); *P_IOA_Buffer = *P_IOA_Buffer | 0x0001; //give SCLK a rising edge // asm("INT OFF"); Delay1us(); // asm("INT IRQ"); *P_IOA_Buffer = *P_IOA_Buffer & 0xFFFE; Delay1us(); } ShiftFlag = ShiftFlag >> 1; } *P_IOA_Buffer = *P_IOA_Buffer | 0x0010; //set TFS high *P_IOA_Buffer = *P_IOA_Buffer | 0x0020; //set A0 high } |
|
|
|
jingfu888 发表于 2018-9-29 07:01 问一下,检查过IO的电平适配么 还有SPI的极性是否正确 么 |
|
|
|
检查了下,IO口配置好像有点问题,还在调,有进展跟您保持交流 ~很感谢 |
|
|
|
只有小组成员才能发言,加入小组>>
987 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1383 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1937 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4268 浏览 2 评论
9059 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1518浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1691浏览 2评论
988浏览 2评论
1665浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1383浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:55 , Processed in 0.899313 second(s), Total 84, Slave 68 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号