Показано с 1 по 10 из 111

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    43
    Сообщений
    829
    Вес репутации
    419

    По умолчанию Re: Эмулятор и сниффер головного устройства для псевдографических дисплеев.

    Вот что я натворил, подскажите где неправильно.

    PHP код:
    //http://compcar.ru 

    int CLK = 13;    
    int DI = 12;
    int CE = 11;

    int ADDR = 0x42;
    byte ReadByte[8];
    int i;
      
    void setup()
    {
      
    pinMode(CLK, OUTPUT);  
      
    pinMode(DI, OUTPUT);
      
    pinMode(CE, OUTPUT);
      
    Serial.begin(115200);    
      
      
    digitalWrite(CLK, LOW); 
      
    digitalWrite(DI, LOW);   
      
    digitalWrite(CE, LOW);    
      
    delay(1000);  
    }

    //===================================================
    void loop()
    {
      if (
    Serial.available() > 7) 
      { 
        for (
    i = 0; i < 8; i++) 
          {
            (
    ReadByte[i]) = Serial.read() ;       // принимаем данные с компа в массив
          
    }
             
    Serial.flush();                     //очистить входной буфер USB
          
          
    Send_Adress();                         // отправляем адрес устройства
          
    for (i = 0; i < 8; i++) 
          {
            
    Byte_Out(DI, CLK, ReadByte[i]);      //отправляем данные в шину в шину
          
    }  
         
    digitalWrite(CE, LOW);                  // запретить прием данных подчиненым  
      
    }  
     
    delay(500); 
    }
    //==================================================
    void Send_Adress()
    {        
        
    Byte_Out(DI, CLK, ADDR);
        
    delayMicroseconds(5);
      
    digitalWrite(CE, HIGH); 
      
    }
    //==================================================
    void Byte_Out(uint8_t DI, uint8_t CLK,  byte val)
    {        
         
    int idx;        
        for (
    idx = 0; idx < 7; idx++)               
            {  
              
    delayMicroseconds(10); 
     if  (((
    val << idx) & B10000000)  == 128)  
     
     
    digitalWrite(DI, HIGH); else  
     
    digitalWrite(DI, LOW);         
                                          
    //   digitalWrite(DI, val & (1 << idx));  /
     
    digitalWrite(CLK, HIGH);                // педний фронт синхроимульса
     
    delayMicroseconds(16);         
     
    digitalWrite(CLK, LOW);                  // задний фронт синхроимульса          
            
    }
    } 
    Последний раз редактировалось XsanderS; 25.11.2010 в 17:47.
    хороший модем должен качать пиво!
    Мой проект

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •