не понял - это хорошо или плохо?VladislavS писал(а):Ух, забористо!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
не понял - это хорошо или плохо?VladislavS писал(а):Ух, забористо!
хм... логично.NStorm писал(а):теперь item сделали таким. Я предложил просто с другой стороны подойти - разыменовывать при передаче
и не просите! я от его синтаксиса классов (не говоря про шаблоны) просто умираю. уж лучше руками на Си...VladislavS писал(а):переходите уже на компилятор С++
нетVladislavS писал(а):Вы читать умеете?
и чем это мне помогло бы? вы могли заметить, что и на варнинг я отреагировал вполне адекватно, только не уразумел, в чем беда и где. чем бы мне еррор помог?VladislavS писал(а):Уж подобный варнинг для него точно смачный еррор будет
Код: Выделить всё
const __flash char __flash *strs_pwr[] = {};хочется верить, что для ARM код будет вполне рабочим, если предварительно сделатьVladislavS писал(а):Убери одну __flash и код кардинально меняется
Код: Выделить всё
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION>=6100100)
#define __KEIL_CODE__
#elif defined(__GNUC__)
#define __GCC_CODE__
#elif defined(__ICCARM__)
#define __IAR_CODE__
#elif defined( __CC_ARM ) || defined(__MICROLIB)
#error "ARMCC v5 and MICROLIB not supported"
#else
#error "Can't detect compiler"
#endifпоясните, а то ваш эмоциональный возглас несколько напрягает.VladislavS писал(а):Какой ужас!
Код: Выделить всё
#if defined(__AVR__)
#define flash __flash
#elif defined(__ARM__)
#define flash
#else
#error ???
#endifКод: Выделить всё
if(mode==условие)
{
if(month==1 && day==1 && minute%10==9){бегущая строка;} // новый год
if(month==1 && day==20&& minute%10==9){бегущая строка;} // день рож Сережи
if(month==5 && day==1 && minute%10==9){бегущая строка;} // день рож у мамы
if(month==5 && day==9 && minute%10==9){бегущая строка;} // день победы
if(month==6 && day==26&& minute%10==9){бегущая строка;} // день рож Илюши
if(month==8 && day==13&& minute%10==9){бегущая строка;} // день рож Вани
if(hour==21&&minute==55)
{бегущая строка;} // пора спать
else
disp=показывать часы;
}
if(mode==условие)
{
if (month==1 && day==1 && minute%10==9)
{бегущая строка;} // новый год
else
disp=показывать часы;
}Код: Выделить всё
if(mode==условие)
{
if(month==1 && day==1 && minute%10==9){бегущая строка;} // новый год
else if(month==1 && day==20&& minute%10==9){бегущая строка;} // день рож Сережи
else if(month==5 && day==1 && minute%10==9){бегущая строка;} // день рож у мамы
else if(month==5 && day==9 && minute%10==9){бегущая строка;} // день победы
else if(month==6 && day==26&& minute%10==9){бегущая строка;} // день рож Илюши
else if(month==8 && day==13&& minute%10==9){бегущая строка;} // день рож Вани
else if(hour==21&&minute==55){бегущая строка;} // пора спать
else disp=показывать часы;
}if(условие А){Применяйте более наглядное форматирование кода
Вам же написали как надо - else if, чтобы "если ни одно условие не верно".я кавычки не правильно ставлю {} , как правильно?
Код: Выделить всё
if(условие А){
if(условие Б){...;}
else if(условие В){...;}
else if(условие Г){...;}
else условие Д;
}
Код: Выделить всё
#define F_CPU 1000000UL
#define sclock PB1
#define sdata PB2
#define ledpin PB0
#include <avr/io.h>
#include <util/delay.h>
void setup(void)
{
DDRB |= (1 << ledpin)|(1 << sclock)|(1 << sdata);
}
void hc164send(unsigned char sh_data)
{
int i;
for (i=0; i<8; i++)
{
if (sh_data & 0x80)
{
PORTB |= (1 << sdata);
}
else
{
PORTB &= ~(1 << sdata);
}
sh_data = sh_data<<1;
sh_pulse();
}
}
void hc164reset(void)
{
hc164send(0x00);
}
void sh_pulse(void)
{
PORTB |= (1 << sclock);
PORTB &= ~(1 << sclock);
}
void ledflash(void)
{
PORTB |= (1 << ledpin);
_delay_ms(5);
PORTB &= ~(1 << ledpin);
_delay_ms(5);
}
void main(void)
{
setup();
hc164reset();
unsigned char j = 0x00;
while(1)
{
hc164send(j);
ledflash();
j++;
_delay_ms(300);
}
}
Код: Выделить всё
D:\comp\avr8-gnu-toolchain\bin>avr-gcc -Os -mmcu=atmega48 -o d:\avr\hc164.elf d:
\avr\hc164.c
d:\avr\hc164.c:38:6: warning: conflicting types for 'sh_pulse' [enabled by defau
lt]
void sh_pulse(void)
^
d:\avr\hc164.c:30:3: note: previous implicit declaration of 'sh_pulse' was here
sh_pulse();
^
Код: Выделить всё
/mnt/ntfs_d/avr/hc164.c:13:2: error: 'DDRB' undeclared (first use in this function)
DDRB |= (1 << ledpin)|(1 << sclock)|(1 << sdata);
^
/mnt/ntfs_d/avr/hc164.c:13:2: note: each undeclared identifier is reported only once for
each function it appears in