打印

AMuxN怎么用啊?

[复制链接]
1651|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xpeter1987|  楼主 | 2011-4-7 12:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在CYC28中新加了AMuxN模块,可以超过八路信号输入,但是试了试发现,只要我修改一路信号,其他的信号都会跟着变,这是为什么呢?
沙发
jxin| | 2011-4-7 12:40 | 只看该作者
你是怎么试的呢? 可以发code上来?

使用特权

评论回复
板凳
xpeter1987|  楼主 | 2011-4-7 16:19 | 只看该作者
本帖最后由 xpeter1987 于 2011-4-7 18:02 编辑

补充code
//----------------------------------------------------------------------------
// C main line
//----------------------------------------------------------------------------

#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules

INT iData;


void adc_display(void)
{
                        INT i;
                        ADCINC12_Start(ADCINC12_HIGHPOWER);
                        ADCINC12_GetSamples(1);
                        while(ADCINC12_fIsDataAvailable() == 0);
                           ADCINC12_ClearFlag();
                        iData = ADCINC12_iGetData()+0x800;
                        for(i=0;i<20000;i++);
                        LCD_Position(0,6);
                        LCD_PrHexInt(iData);
                        ADCINC12_Stop();
                        
}
void delay(void)
{
        INT i;
        for(i=0;i<50;i++);
}
void main(void)
{
        INT input_changer;
        input_changer = 0;
        
        M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts
        
        PGA_Start(PGA_MEDPOWER);
        
        AMuxN_Start();
        
        LCD_Start();
        for(;;)
                {
                        switch(input_changer)        
                        {
                        case 0:
                        {
                        
                           AMuxN_InputSelect(AMuxN_PORT0,AMuxN_PIN1);   
                        adc_display();
                        LCD_Position(1,6);
                        LCD_PrCString("0_0");
                        input_changer += 1 ;
                        break;
                        }
                        
                        case 1:
                        {
                        AMuxN_InputSelect(AMuxN_PORT0, AMuxN_PIN3);   
                            adc_display();   
                        LCD_Position(1,6);
                        LCD_PrCString("0_1");
                        input_changer -= 1;
                        break;
                        }
                        
                        case 2:
                        {
                        AMuxN_InputSelect(AMuxN_PORT0, AMuxN_PIN2);   
                        delay();
                        adc_display();   
                        LCD_Position(1,6);
                        LCD_PrCString("0_2");
                        input_changer += 1;
                        break;
                        }
                        case 3:
                        {
                          
                        AMuxN_InputSelect(AMuxN_PORT0, AMuxN_PIN3);   
                        delay();
                        adc_display();     
                        LCD_Position(1,6);
                        LCD_PrCString("0_3");
                        input_changer += 1;
                        break;
                        }
                        case 4:
                        {
                        AMuxN_InputSelect(AMuxN_PORT0, AMuxN_PIN4);      
                        delay();
                        adc_display();   
                        LCD_Position(1,6);
                        LCD_PrCString("0_4");
                        input_changer += 1;
                        break;
                        }
                        case 5:
                        {
                        AMuxN_InputSelect(AMuxN_PORT0, AMuxN_PIN5);   
                        delay();
                        adc_display();   
                        LCD_Position(1,6);
                        LCD_PrCString("0_5");
                        input_changer += 1;
                        break;
                        }
                        case 6:
                        {
                        AMuxN_InputSelect(AMuxN_PORT0, AMuxN_PIN6);   
                        delay();
                        adc_display();   
                        LCD_Position(1,6);
                        LCD_PrCString("0_6");
                        input_changer += 1;
                        break;
                        }
                        case 7:
                        {
                        AMuxN_InputSelect(AMuxN_PORT0, AMuxN_PIN7);     
                        delay();
                        adc_display();   
                        LCD_Position(1,6);
                        LCD_PrCString("0_7");
                        input_changer += 1;
                        break;
                        }
                        case 8:
                        {
                        AMuxN_InputSelect(AMuxN_PORT1, AMuxN_PIN0);     
                        delay();
                        adc_display();   
                        LCD_Position(1,6);
                        LCD_PrCString("1_0");
                        input_changer = 0;
                        break;
                        }
                        
                        default: input_changer = 0;
                        }
                        
                        
                }
}

使用特权

评论回复
地板
jxin| | 2011-4-8 09:25 | 只看该作者
user module datasheet said:
This API only connects the specified pin to the bus, does not disconnect any pins from the bus.
So, before connnect a pin, you have to make sure all the other pins disconnect, if you don't want them connected.

使用特权

评论回复
5
xpeter1987|  楼主 | 2011-4-8 11:04 | 只看该作者
能否给一个具体的实例,特别是那个连线的图是怎么连接的?

使用特权

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

本版积分规则

0

主题

6

帖子

1

粉丝