Krik99 Ды проц 55 МГц, AT91SAM7S256 и 72МГц STM32F103RET6 на LPC денег нема =)
Krik99 Ды проц 55 МГц, AT91SAM7S256 и 72МГц STM32F103RET6 на LPC денег нема =)
Но тогда одинаково получается - что инкремент, что декремент, у CvAvr получается SUBI.neonix писал(а):Ну я про оптимизацию компилятором и говорил

Дык в Thumb наборе команд у него должно в два раза меньше памяти хаваться под командный код, ну а разрядность переменных сам задаёшь. Кстати, AT91SAM7S32 действительно сильно "кастрированный" в плане периферии. А никто не интересовался ARM9ми? В большинстве корейских мобилок именно они 320х240 экранами крутят...neonix писал(а):При изменениии обьемов Flash растет и количество RAM, это позволяет не так сильно оптимизировать код при изучении ARMов, плюс надо учитывать то что проц 32 разрядный, обьем кода будет больше чем у восьмибитников. Так что имхо лучше взять побольше, темболее цены не так сильно растут при изменении размеров флеши. Если решите брать AT91SAM7S32 берите лучше AT91SAM7S321 у него есть USB и портов больше. Кстати в STM32F103RET6 обьем флеши 512кб и 64кб RAM, плюс флеш быстрее чем у атмеля. Пока он мне больше всех армов нравится, правда архитектура новая у него, и режим thumb2 вместо старых ARM и Thumb режимов у ARM7.
Может эта ссылка поможет http://serdisplib.sourceforge.net/ser/nokcol_15g10.htmlELcat писал(а):Всем! Помогите, пожалуйста в глупом вопросе - купил на выходных экран от C65 LPH9135-3 002 0.4mm G6042062 40грн отдал (сдуру перепутал с S65), не могу найтина него даташит. Есть у кого-нибудь описание, коды или лучше не связываться и отпереть на базар обратно?
Код: Выделить всё
void lcd_bmp(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint16_t *data)
{
uint16_t bmp_x = pgm_read_word(data++); //Размер по X
uint16_t bmp_y = pgm_read_word(data++); //Размер по Y
PORTB &= ~_BV(LCD_CS); // select display
lcd_cmd(SD_CSET);
lcd_dat0(0x08+x1); // start is 8, not 0
lcd_dat0(0x01+(x1 >> 8));
lcd_dat0(0x08+x2+x1); // is 00x8B = 0x83+8
lcd_dat0(0x01+(x2+x1 >> 8));
lcd_cmd(SD_PSET);
lcd_dat0(y1);
lcd_dat0(y2+y1);
lcd_cmd(RAMWR);
for(uint8_t y = 0; y < bmp_y; y++)
for(uint8_t x = 0; x < bmp_x; x++)
lcd_dat16(pgm_read_word(data++)); //Передача данных в LCD
PORTB |= _BV(LCD_CS); // deselect display
}http://www.nongnu.org/avr-libc/user-man ... 0354b3f027Man писал(а): непонятно что делает pgm_read_word .