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

Видеокурс по AVR-микроконтроллерам для начинающих


Рекомендуемые сообщения

kobraz, в тридцать я только заимел книгу по МК51. Была нужда - изучил и ассемблер, и компиляторы... Нужда исчезла, желания не стало - все забросил и забыл. Теперь просто лень.

Так что, Вы правы - нет необходимости и есть отговорки (семья, работа, ...). Вот и ленимся. :(

Ссылка на комментарий
Поделиться на другие сайты

Приветствую!

Моя домашняя работа по LCD 5110 (он же 3310).

P.S. Спасибо за видеокурс! :yes:

// CPU = ATMega8A
#define F_CPU 8000000
#include <avr/io.h>
#include <stdlib.h>
#include <util/delay.h>
#include "n5110.h"
void startup()
{
Lcd_init();
Lcd_clear();
for (int i=1; i<=6; i++)
{
 Lcd_circle(8,24,i,PIXEL_ON);
}
Lcd_circle(78,24,5,PIXEL_ON);
Lcd_rect_empty(8,21,73,27,PIXEL_ON);
Lcd_line(20,18,20,30,PIXEL_ON);
Lcd_line(40,18,40,30,PIXEL_ON);
Lcd_line(60,18,60,30,PIXEL_ON);
Lcd_prints(4,1,FONT_1X,(unsigned char*)PSTR("Thermo"));
Lcd_prints(2,4,FONT_1X,(unsigned char*)PSTR("20"));
Lcd_prints(6,4,FONT_1X,(unsigned char*)PSTR("40"));
Lcd_prints(10,4,FONT_1X,(unsigned char*)PSTR("60"));
Lcd_update();
}
int main(void)
{
   startup();
while(1)
   {
 for (int i=21; i<=60; i++)
 {
  Lcd_rect(10,27,6,i,PIXEL_ON);
  Lcd_update();
  _delay_ms(50);
 }
   }
}

Ссылка на комментарий
Поделиться на другие сайты

в целом разделение на статику и динамику сделали правильно!

Мне вот интересно - почему все делают бегущий уровень прямоугольником а не линией? Добавляя по 1 к координатам У

Lcd_line(10, 20+i, 15, 20+i, PIXEL_ON)

?

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

сидел только что разбирался как линиями сделать

очень умно в жизни бы не догадался

и хотел бы разобраться с этими { } скобами

так как понимаю ихнюю суть но не до конца как они работают

Ссылка на комментарий
Поделиться на другие сайты

void Test() //Функция Тест (в круглых скобках принимаемый параметр. Если в них пусто - ничего не принимаем)
{
//между скобками находится то что ета функция делает
}
Пример
void MyLine(int pozition_X, pozition_Y)
{
Lcd_clear();
Lcd_prints(pozition_X, pozition_Y, FONT_1X, (unsigned char*)PSTR("Hellow"))
Lcd_update();
}
Использование
MyLine(0, 1);
Очистит екран и выведет в первой строке надпись Hellow

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

полный путь необязательно если файл находиться в папке с проектом.

А вот кавычки для своих библиотек таки надо использовать ""

Я кстати говорил об этом в видеоуроке!

Ну и до кучи!

Господа - отснял наконец-то заключительную часть видео уроков с теорией!

АЦП - Теория и практика!

Тема очень широкая, сложная и простая одновременно. Старался разложить по полочкам все нюансы.

Так что смотрите не спеша!

А дальше - будем уже применять знания на практике! Разрабатывать схему, дописывать код... паять устройство!

Одним словом - кто прошел все уроки и делал домашку - соберет устройство без проблем :)

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Да, только что досмотрел последние уроки.

А это домашнее задание еще самое первое.....

Вообще эта библиотека там нужна..? (mingw.h)

Изменено пользователем Tantrum
Ссылка на комментарий
Поделиться на другие сайты

Ошибка осталась...

Извините - но я не в курсе что это за библиотека и для чего она :(

Просмотрите начало видео урока по работе с ЛЦД - там подробно показано как работать с внешними библиотеками!

Сделайте все как надо и если ошибка останется выложите код и ошибку!

Изменено пользователем kobraz

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Вот полный код:

//Atmega8
#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
#include "mingw.h"
#include <time.h>
void preset(){
DDRB = 0xFF;
PORTB = 0x00;

DDRD = 0xFF;
PORTD = 0x00;

DDRC= 0xFF;
PORTC = 0x00;
}

int main(void){
preset();
srand(time(NULL));
int val = rand() % 2;
switch (val){
case 0:
PORTB = 0xFF;
_delay_ms(200);
PORTB = 0x00;
_delay_ms(200);
break;
case 1:
PORTC = 0xFF;
_delay_ms(200);
PORTC = 0x00;
_delay_ms(200);
break;
case 2:
PORTD = 0xFF;
_delay_ms(200);
PORTD = 0x00;
_delay_ms(200);
break;
}

while(1)
{

}
}

А ошибка полностью видна на скриншоте.

Оно начало выдавать эту ошибку после того, как я скачал и вписал в код библиотеку <time.h>

Изменено пользователем Tantrum
Ссылка на комментарий
Поделиться на другие сайты

тайм.аш если добавляли тоже кавычки меняйте

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

Изменено пользователем kobraz

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Все. Разобрался уже. С помощью брата-программиста сделал так, чтобы сгенерированные числа не повторялись.

Код:

//Atmega8
#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>

static int delay = 70;

void preset(){
DDRB = 0xFF;
PORTB = 0x00;

DDRD = 0xFF;
PORTD = 0x00;

DDRC= 0xFF;
PORTC = 0x00;
}

int main(void){
preset();

int temp = -1;

while(1)
{
int val = rand() % 3;
while(temp == val) {
val = rand() % 3;
}
temp = val;

switch (val){
case 0:
PORTB = 0xFF;
_delay_ms(delay);
PORTB = 0x00;
_delay_ms(delay);
break;
case 1:
PORTC = 0xFF;
_delay_ms(delay);
PORTC = 0x00;
_delay_ms(delay);
break;
case 2:
PORTD = 0xFF;
_delay_ms(delay);
PORTD = 0x00;
_delay_ms(delay);
break;
}
}
}

Изменено пользователем Tantrum
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

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