Всем привет. Только вчера стал пользоваться двачом. Хочу посмотреть, как тут что.
У меня есть проблема. Я сдавал экзамен, для него нужно было запрограммировать на Proteus PIC12F675, который должен выводить на экран буквы, преобразованные из морзянки. Препод принял, но сказал доработать. Нужно сделать так, чтобы выводилась случайная буква и если ты вводишь правильно (на морзе), то снова выводится эта буква, если нет, то ошибка.
Но у меня проблема в том, что программа (на C) занимает слишком много места. У меня внизу появляется лог, который говорит о том, что почти все слова заняты (максимум 1024). И я не понимаю, как укоротить, ведь функцию рандома я ещё не сделал. Причём, что забавно, та жирная программа запускается у моих друзей, но плохо работает, а у меня вообще не запускается и появляется лог:
picc.exe --pass1 --errformat="Error at file f line l column c: (n) s" --warnformat="Warning at file f line l column c: (n) s" --msgformat="Message at file f line l column c: (n) %%s" -D_XTAL_FREQ=1000000 -G --chip=12F675 -O"main.p1" "../main.c"
В общем, мне нужна помощь по коду. Я хочу понять, почему он так много места занимает. И дайте идею, как этот рандом сделать.
Вот гугл диск с моими изысканиями:
https://drive.google.com/drive/folders/1k3g8nQQwpoyYYOKip0IFRmLS9QNFTdyg?usp=drive_link
P.S.
▲ Морзе3 - изначальная версия. Работает
▲ Морзе3_тест2 - то, что глючит и занимает много места
▲ Морзе3_тест4 - то, что я попробовал укоротить, вроде получилось, но думаю, что что-то не так. Функция рандома не сделана и букв мало.
▲ txt файлы - тексты программ и все буквы, которые выводятся
У меня есть проблема. Я сдавал экзамен, для него нужно было запрограммировать на Proteus PIC12F675, который должен выводить на экран буквы, преобразованные из морзянки. Препод принял, но сказал доработать. Нужно сделать так, чтобы выводилась случайная буква и если ты вводишь правильно (на морзе), то снова выводится эта буква, если нет, то ошибка.
Но у меня проблема в том, что программа (на C) занимает слишком много места. У меня внизу появляется лог, который говорит о том, что почти все слова заняты (максимум 1024). И я не понимаю, как укоротить, ведь функцию рандома я ещё не сделал. Причём, что забавно, та жирная программа запускается у моих друзей, но плохо работает, а у меня вообще не запускается и появляется лог:
picc.exe --pass1 --errformat="Error at file f line l column c: (n) s" --warnformat="Warning at file f line l column c: (n) s" --msgformat="Message at file f line l column c: (n) %%s" -D_XTAL_FREQ=1000000 -G --chip=12F675 -O"main.p1" "../main.c"
В общем, мне нужна помощь по коду. Я хочу понять, почему он так много места занимает. И дайте идею, как этот рандом сделать.
Вот гугл диск с моими изысканиями:
https://drive.google.com/drive/folders/1k3g8nQQwpoyYYOKip0IFRmLS9QNFTdyg?usp=drive_link
P.S.
▲ Морзе3 - изначальная версия. Работает
▲ Морзе3_тест2 - то, что глючит и занимает много места
▲ Морзе3_тест4 - то, что я попробовал укоротить, вроде получилось, но думаю, что что-то не так. Функция рандома не сделана и букв мало.
▲ txt файлы - тексты программ и все буквы, которые выводятся
Массивы и циклы использовать аллах запретил?
Ну один цикл там есть
а закопипастить одно и то же в кейсы будда велел?
>>056 (OP)
Я в 16f628-й вмещал управление HD44780, там 2к, но ещё места куча оставалась, ты что-то неправильно делаешь. Не используй библиотеки, дрочи порты байтоёбством, там драйвер для экрана байт на 200 выйдет, не больше.
Я в 16f628-й вмещал управление HD44780, там 2к, но ещё места куча оставалась, ты что-то неправильно делаешь. Не используй библиотеки, дрочи порты байтоёбством, там драйвер для экрана байт на 200 выйдет, не больше.
>>056 (OP)
Я код не видел! Мои глаза! У тебя всю память case сжирает! Всё в массив и оттуда циклом вытаскиваешь!
>>094-этот...
Я код не видел! Мои глаза! У тебя всю память case сжирает! Всё в массив и оттуда циклом вытаскиваешь!
>>094-этот...
У меня, кстати, почти получилось. Новую программу отправил