打印

没加高电平的IO得到的值也被拉高了

[复制链接]
330|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pengf|  楼主 | 2017-10-21 14:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近使用CY24894这款芯片来进行采样,发现把一高电平加在其任意一个IO口上面,其他IO口悬空,但也采样,最后发现,没加高电平的IO得到的值也被拉高了
沙发
renyaq| | 2017-10-21 14:26 | 只看该作者
PSOC 的BUS或者IO口间有容性东西?

使用特权

评论回复
板凳
supernan| | 2017-10-21 14:27 | 只看该作者

程序复杂吗

使用特权

评论回复
地板
pengf|  楼主 | 2017-10-21 14:29 | 只看该作者

程序编写上面很简单,把BUS0/1相连,delsigADC的采样端通过PGA接到BUS0,依次接入相应IO进行采样。

使用特权

评论回复
5
kangzj| | 2017-10-21 14:32 | 只看该作者
你是如何对没加高电平的IO进行采样的? 工程文件可以发上来吗?

使用特权

评论回复
6
pengf|  楼主 | 2017-10-21 14:34 | 只看该作者
和加高电平的方式是一样的,公司没法上传,这里把代码贴出:
    各个IO口进行采样的程序:
for(i = 0; i < MAX_CHIP_PIN; i++)
{
  
  Setting_IO_Status(ADC_Pin.Port, ADC_Pin.Pin, HIGH_IMPEDANCE_ANALOG, LOW, MUX);   // ADC_Pin connected to BUS
  sample = GetADdata();
  Setting_IO_Status(ADC_Pin.Port, ADC_Pin.Pin, HIGH_IMPEDANCE_ANALOG, LOW, UNMUX);  // ADC_Pin disconnected to BUS
  *p_UsbOutBuffer++ = sample & 0xFF;
  *p_UsbOutBuffer++ = (sample >> 8) & 0xFF;      
}
    AD代码:
unsigned int GetADdata(void)
{
    unsigned char i;
unsigned int Temp;
unsigned long DataSum =0;

for(i=0;i<5;i++)
{
  while((!DelSig_fIsDataAvailable())  && USBFS_INTERFACE_0_OUT_RPT_DATA[0] ==0xff);  
  Temp=DelSig_wGetDataClearFlag();
  if(i<4)
      continue;
  DataSum += Temp;
}
DataSum = DataSum;
    //DelSig_StopAD ();
    return DataSum;
}

使用特权

评论回复
7
supernan| | 2017-10-21 14:35 | 只看该作者

我看下,有消息联系你

使用特权

评论回复
8
pengf|  楼主 | 2017-10-21 14:38 | 只看该作者

好的,那我就结贴了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝