Adinah
17.Сентябрь.2024 15:05:26
61
В таком виде моргает с периодичностью примерно 6-7сек.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
Delay_ms(1000);
digitalWrite(LED_BUILTIN, LOW);
Delay_ms(1000);
}
void Delay_ms(uint16_t ms)
{
uint16_t tik = 0;
while(ms)
{
while (tik++ < 128)
{
asm("nop");
}
ms--;
tik = 0;
}
}
Ну, значит работает. Надо точную функцию написать, сейчас уже ухожу, буду занят.
Может кто-нибудь ещё поможет
BOOM
17.Сентябрь.2024 15:23:14
63
Гувер писал, ссылку не могу найти, что должно всё работать. Хотя ему веры и нет, врятли кто его ядро (кроме него самого, а может и он тоже) запускал на 128кгц)))
BOOM
17.Сентябрь.2024 15:29:59
64
Adinah:
Не работают оба.
что тут может не работать, не знаю.
Кстати, таймер задействован.
Adinah
17.Сентябрь.2024 15:31:51
65
Системный? Да, задействован. Если его отключить - не прошивается.
BOOM
17.Сентябрь.2024 15:33:40
66
Опа!
У тебя полный вывод сообщений компилятора включен?
Приведи текстом сообщение об ошибке при загрузке с отключенным таймером (полностью текстом скопируй и сюда вставь)!
Adinah
17.Сентябрь.2024 16:34:18
69
Пришлось скоропостижно покинуть работу, как доберусь до работы напишу.
BOOM
17.Сентябрь.2024 17:24:39
70
Так это коммерческий проект, который ты хочешь «за спасибо» и наши нервы реализовать?
Осуждаю. И всех призываю осудить!
Adinah
17.Сентябрь.2024 19:44:47
71
Какой коммерческий проект? Вы о чем? Простите, что трачу ваше время, лично ваша помощь мне больше не нужна. Берегите нервы. (Береги руку Сеня!)
Остальным поясню, что на работе куча оборудования, запчастей, программаторов,паялок итд и тп, поэтому мне удобнее заниматься этим на работе.
Да вроде не похоже
Это я с функцией накосячил
А так?
Вариант
Спойлер
void Delay_ms(uint32_t ms)//
{
ms *= 16;//
while(ms--)
{
asm volatile("nop\n\t");
}
}
2.Вариант из двух функций
Спойлер
void Delay_1ms()
{
asm volatile("ldi R17, 0x2A\n\t"
"LOOP0: dec R17\n\t"
"brne LOOP0\n\t"
"nop\n\t"
"nop\n\t");
}
void Delay_ms(uint32_t ms)
{
while (ms--)
{
Delay_1ms();
}
}
MMM
18.Сентябрь.2024 07:10:46
73
Помню, месяца 4 назад совместными усилиями писали тут блинк для тини10 без использования делей и миллис. Кто за компом, поищите
@Adinah , вы не ответили на вопрос, зачем вам это надо. Если для экономии энергии, то не ясно, нафига вам атмега 328
ua6em
18.Сентябрь.2024 09:11:53
74
BOOM
18.Сентябрь.2024 10:59:14
75
Ну что там за сообщение то?
ua6em
18.Сентябрь.2024 16:03:53
76
ну держи тогда загрузчик для 128khz, скорость порта 1200
:107E000001C0E7C0112484B7811561F0982F9A70E2
:107E1000923041F081FF02C097EF94BF282E80E09E
:107E2000C3D0EEC085E08093810082E08093C000E3
:107E300088E18093C10086E08093C2008CE080934B
:107E4000C4008EE0B1D0259A86E029EF3FEF91E0A3
:107E5000309385002093840096BBB09BFECF1D9A83
:107E6000A8954091C00047FD02C08A9589F723E09C
:107E7000E22EDD24D39435E0C32E41E1B42E88D028
:107E8000853509F448C080F4853409F442C038F4DB
:107E9000813489F1823409F439C08CD034C0813501
:107EA000E1F788E081D0F9CF843709F45DC0D0F4E0
:107EB000863509F437C0843681F76AD069D0182F27
:107EC00067D0082F612C7724739443018FEF681AD1
:107ED000780A5ED0F40180831611F7CF6BD0053499
:107EE00029F5FFCF8537C9F665D08EE14AD085E9FF
:107EF00048D08FE007C04CD0182F5CD083E01138F9
:107F000009F488E03ED080E13CD0B9CF84E15AD07A
:107F1000FACF85E0FCCF3CD0C82F3AD0D82FCC0F79
:107F2000DD1FBBCF84E04ED080E0ECCFFE01E7BE8A
:107F3000E89507B600FCFDCFFE0120E031E0D90155
:107F40002E5F3F4F8D919C910C01D7BEE895112477
:107F500032961213F4CFFE01C7BEE89507B600FCB7
:107F6000FDCFB7BEE895CFCF13D012D0F82E10D0EA
:107F700021D08E01F80185918F0103D0FA94D1F7B9
:107F8000C2CF9091C00095FFFCCF8093C6000895AA
:107F90008091C00087FFFCCF8091C00084FD01C0AC
:107FA000A8958091C6000895E0E6F0E098E19083FE
:107FB00080830895EDDF803219F088E0F5DFFFCF90
:107FC00084E1DFCFCF93C82FE3DFCA95E9F7CF91E4
:107FD000F1CFFC010A0167BFE895112407B600FC48
:107FE000FDCF6670611529F0452B19F481E187BF3B
:047FF000E895089573
:027FFE00030876
:0400000300007E007B
:00000001FF
и 2400:
:107E000001C0E7C0112484B7811561F0982F9A70E2
:107E1000923041F081FF02C097EF94BF282E80E09E
:107E2000C3D0EEC085E08093810082E08093C000E3
:107E300088E18093C10086E08093C2008CE080934B
:107E4000C4008EE0B1D0259A86E029EF3FEF91E0A3
:107E5000309385002093840096BBB09BFECF1D9A83
:107E6000A8954091C00047FD02C08A9589F723E09C
:107E7000E22EDD24D39435E0C32E41E1B42E88D028
:107E8000853509F448C080F4853409F442C038F4DB
:107E9000813489F1823409F439C08CD034C0813501
:107EA000E1F788E081D0F9CF843709F45DC0D0F4E0
:107EB000863509F437C0843681F76AD069D0182F27
:107EC00067D0082F612C7724739443018FEF681AD1
:107ED000780A5ED0F40180831611F7CF6BD0053499
:107EE00029F5FFCF8537C9F665D08EE14AD085E9FF
:107EF00048D08FE007C04CD0182F5CD083E01138F9
:107F000009F488E03ED080E13CD0B9CF84E15AD07A
:107F1000FACF85E0FCCF3CD0C82F3AD0D82FCC0F79
:107F2000DD1FBBCF84E04ED080E0ECCFFE01E7BE8A
:107F3000E89507B600FCFDCFFE0120E031E0D90155
:107F40002E5F3F4F8D919C910C01D7BEE895112477
:107F500032961213F4CFFE01C7BEE89507B600FCB7
:107F6000FDCFB7BEE895CFCF13D012D0F82E10D0EA
:107F700021D08E01F80185918F0103D0FA94D1F7B9
:107F8000C2CF9091C00095FFFCCF8093C6000895AA
:107F90008091C00087FFFCCF8091C00084FD01C0AC
:107FA000A8958091C6000895E0E6F0E098E19083FE
:107FB00080830895EDDF803219F088E0F5DFFFCF90
:107FC00084E1DFCFCF93C82FE3DFCA95E9F7CF91E4
:107FD000F1CFFC010A0167BFE895112407B600FC48
:107FE000FDCF6670611529F0452B19F481E187BF3B
:047FF000E895089573
:027FFE00030876
:0400000300007E007B
:00000001FF
BOOM
18.Сентябрь.2024 16:08:55
77
Он хрен забил, судя по всему. Это печально и обидно. Потраченное время не вернуть.
SAB
18.Сентябрь.2024 16:34:16
78
С таким же успехом в следующий раз ТС задаст вопрос с какой скоростью проедет мерс на квадратных колёсах километров, пока не развалится кузов. Ну просто, ради интереса.))))
1 лайк
BOOM
18.Сентябрь.2024 16:40:27
79
И сразу свалит, как иногда тут бывает ))
https://forum.arduino.ru/t/ne-rabotaet-kod-na-attiny10/13682/80
Если речь про эту тему, то как раз был занят, глянул тогда немного последние посты, всю не читал.
Сейчас вопрос по коду из #80
Возможно ошибаюсь, но как по мне эта функция(_delay_us) должна одинаково работать на всех AVR -ках, но на нано выдаёт довольно большую ошибку, т.к. не учитывает все такты цикла while. Может я чего и не понял
Спойлер
#define F_CPU 16000000UL
#define __ticks_dc ((F_CPU) / 1e6)
void _delay_us(uint32_t __us)
{
while (__us) {
__builtin_avr_delay_cycles(__ticks_dc);
__us--;
}
}
void setup() {
Serial.begin(9600);
}
void loop() {
static uint8_t a = 0;
static uint32_t start_m;
static uint32_t stop_m;
start_m = micros();
_delay_us(1000);
stop_m = micros();
Serial.println(a);
Serial.println(stop_m - start_m);
delay(500);
a++;
}
Спойлер