Перейти к содержанию
    

sherr

Участник
  • Постов

    254
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные sherr


  1. В 16 бит; причем попробовал softSPI - результат аналогичный.

     void spiss(u16 data)
    {     SCK0;if (data & 32768) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 16384) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 8192) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 4096) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 2048) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 1024) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 512) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 256) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 128) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 64) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 32) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 16) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 8) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 4) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 2) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
         SCK0;if (data & 1) DAT1;else DAT0;delay_c(5);SCK1;delay_c(5);
    
        //delay_us(10);
    }

     

    В 8-битном режиме пробовал также --- и цвета искажает не меньше .

  2. Но при сдвиге SPI разве прошла бы инициализация ?

    void spisw(u16 data)
    {      u16 dummy;
        S0SPDR = data;
        while(!(S0SPSR & (1<<SPSR_SPIF)));
        dummy =S0SPDR;
        //delay_us(10);
    }
    
    void spiInit(void)
    {    
        // setup SCK pin P04
        PINSEL0 &= ~(3<<8);
        PINSEL0 |= 1<<8;
        // setup MISO pin P05
        PINSEL0 &= ~(3<<10);
        PINSEL0 |= 1<<10;
        // setup MOSI pin P06
        PINSEL0 &= ~(3<<12);
        PINSEL0 |= 1<<12;
        // setup SSEL pin P07    for  master  manually  driving
        //PINSEL0 &= ~(3<<14);
        //PINSEL0 |= 1<<14;
    
        // set maximum SPI rate --  1.2 mhz
        S0SPCCR = 50;
        // set master mode, clock polarity and phase
        S0SPCR = 0x0024; // MASTER, -16bit
    }
    
    void spicmd( u16 cmd){  // command  transfer
    RSHI;//  command
    CSLO;// chip  select
    spisw(cmd);
    delay_c(5);//  ~0.8  us
    CSHI;
    //delay_c(3);
    }
    
    void spidat( u16 cmd){//  data  transfer
    RSLO;// data
    CSLO;
    spisw(cmd );
    delay_c(5);
    CSHI;
    //delay_c(3);
    }

     

    Извиняюсь за отвратные комментарии .

  3. Я ошибся - не контрастность низкая, а цвета перепутаны -- ffff- белый ; но- 0000 - светло-серый,

    а то что должно быть красным,зеленым и синим ( F800,07E0,001F соответственно)--темно синее

    и темно-фиолетовое, намного темнее чем 0000. SPI аппаратный, 16 бит , скорости пробовал разные.

    Подскажите,где копать...

  4. Для экранного буфера большого LCD (640*481*1) потребовалась вся SRAM lpc2148. Как разместить все остальные

    переменные а также стек в области памяти , предназначенной дя работы с USB (8 kb) ?

    USB пока использовать не буду.

    p.s. Может лучше сам буфер разбить на две части, а переменные и стек оставить в основной памяти ?

     

    p.p.s компилятор keil 3.40

  5. Как в КЕЙЛе записать/прочитать большой массив данных по абсолютному адресу лежащему вне адресов

    во Flash-е по которым записывается HEX c программой. Это нужно чтобы каждый раз не переписывать его при программировании LPC2148 через ISCP( JTAGa пока нет). Желательно обойтись без ассемблерных вста-

    вок. Размер файла -350-400 кб.

    P.s. Еще вопрос -- к концу месяца должна прибыь отладочная плата Luminary на lm3s1968 -- так вот

    как использовать её встренный JTAG для отладки LPC2418 -- получится ли в КЕЙЛе или нужен сторонний

    софт ?

    Заранее благодарен.

  6. Как в keil uv3 для АРМ (3.40) прикрутить внешний редактор,

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

    выводил сообщения ?

    p.s. какой именно редактор посоветуете - интересует в частности

    наличие code templates как в CVAVR.

  7. Есть значительное количество плат с XILINX Spartan XCS05(+17s05pc конф ПЗУ).

    Подскажите начинающему софт начального уровня для работы с ним (новые версии

    ISE его не поддерживают) а также если можно уроки или литературу - как начать...

    p.s. Опыт общения с ПЛИС=0, немного знаю AVR.

  8. Всем спасибо! Прийдётся менять подход к написанию программок...

    А теперь еще вопрос (offtop маленько) - как успехи в борьбе

    с секретами DebugWire - кто-нибудь хотя бы пытался перехватить

    и расшифровать протокол ? ( А то хочется самодельный МК2 или

    Dragon но без ограничений) :

  9. Как сделать, чтобы в WINAVR можно было бы работать с отдельными битами аналогично

    CVAVR например PORTD.5=0 . Где-то видел готовый хидер для этого, но,увы...

    не могу найти. Также интересут другие подобные хидеры облегчающие переход между

    различными версиями компиляторов С для AVR.

×
×
  • Создать...