2020-01-16 18:27发布
lixin91985 发表于 2017-1-16 09:34 这个项目 貌似以前做过 。 for(times=0;timesBSRR =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2; // CONV A B C = ...
lixin91985 发表于 2017-1-16 12:07 先查硬件,感觉 你这个是硬件配置错误了。 然后把软件上的时序降低一点。 ...
最多设置5个标签!
for(times=0;times<F6Times;times++)//连续采集10次
{
delay_ns(ShutTime);
GPIOC->BSRR =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2; // CONV A B C =1;
while(GPIO_ReadInputDataBit(GPIOD,AD_BUSY)){;}
delay_ns(1);
GPIO_ResetBits(GPIOC,AD_CS);// cs=0
for(RDI=0;RDI<6;)
{GPIO_ResetBits(GPIOC,AD_RD);// rd=0
delay_ns(1);
AD_valueTemp[RDI][times]=GPIO_ReadInputData(GPIOB);
GPIO_SetBits(GPIOC,AD_RD); // rd=1;
RDI++;
}
GPIO_SetBits(GPIOC,AD_CS); // cs=1
GPIOC->BRR =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;// CONV A B C=0;
}
SenserAddress=0x00;
UpdateSenserAddress()
』
谢谢您的回答,我现在读取回来的数好乱,感觉都不是真实的,每次采集回来的都不一样
然后把软件上的时序降低一点。
您是指的IO口配置吗?
我用的是LPC1788下的"gpio_17xx_40xx.h"
#define D_AD_RD_3_ON() Chip_GPIO_WritePortBit(LPC_GPIO, 0, 31, true)//输出
#define D_AD_BUSY_3() Chip_GPIO_GetPinState(LPC_GPIO, 0, 28)//输入
Chip_GPIO_SetPortDIR(LPC_GPIO, 0, 0x0000ffff, false); //数据P0~P15(这样有问题么?)
感觉上面读数据端口,好象哪感觉不对,望指教,感谢感谢。
一周热门 更多>