Jump to content
admin

Видеокурс По Avr-Микроконтроллерам Для Начинающих

Recommended Posts

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

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

Share this post


Link to post
Share on other sites

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

Моя домашняя работа по 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);
 }
   }
}

Share this post


Link to post
Share on other sites

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

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

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

?

Share this post


Link to post
Share on other sites

Финальные результаты тестирования литиевых батареек FANSO при нормальных условиях

Перед разработчиком устройства, в котором предполагается использование батарейки, всегда стоит задача выбора того или иного бренда. Конечно, наиболее объективный результат по качеству можно получить при реальном тестировании в режиме работы самого устройства. Для того чтобы у разработчиков была некоторая информация о реальных значениях основных параметров ЛХИТ, инженеры компании КОМПЭЛ решили провести серию из трех тестов. Первый тест на постоянный разряд в нормальных климатических условиях, начатый в апреле 2019 г., мы завершили.

Узнать финальный результат тестирования

Такую функцию лучше делать в цикле, что-бы не было пропусков линий, и визуально получается красивее.

Share this post


Link to post
Share on other sites
                     

Видеокурс Работаем с микроконтроллерами STM32G0. Впервые на русском языке.

В цикле видеокурсов по работе с STM32G0 от компании STMicroelectronics показаны архитектура, периферия (особенности процессорного ядра, режимов пониженного питания, векторов прерываний, DMA и мультиплексора DMA, схемы тактирования и сброса, и.т.д.) и даны практические примеры. Материал дает наглядное понимание того, как начать работу на новых микроконтроллерах STM32G0

Подробнее

прочитал немного понял что это такое

но смущает использование много незнакомых слов для меня

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

всем привет

чего такая тишина ?

наверное выходные :)

жду следующего ура

когда планируется выпустить ?

Share this post


Link to post
Share on other sites

Выполняю домашнее задание. Ошибка.

04_05_2014_17_31_08.jpg

Что делать?

P.S. Файл _mingw.h в папке include есть.

Edited by Tantrum

Share this post


Link to post
Share on other sites

В папке include есть и тот и тот уже. Но когда скачивал, был с черточкой.

Share this post


Link to post
Share on other sites

его надо прописывать в таких "" кавычках. можно даже полный путь "c:\bla-bla\file.h"

Share this post


Link to post
Share on other sites

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

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

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

Ну и до кучи!

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Edited by Tantrum

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by kobraz

Share this post


Link to post
Share on other sites

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

//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>

Edited by Tantrum

Share this post


Link to post
Share on other sites

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

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

Edited by kobraz

Share this post


Link to post
Share on other sites

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

Код:

//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;
}
}
}

Edited by Tantrum

Share this post


Link to post
Share on other sites

если не сложно -отредактируйте свои посты, код в тег код и под спойлер

брат если подскажет:)

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By RIMUS1989i
      Здравствуйте. Затеялся собрать анализатор спектра на светодиодах, 20x20 светодиодов, МК ATMEGA328P. 
      Долго ломал голову, как переключать столбцы без использования МК, дабы его не загружать.И вот что у меня получилось. Набросал тестовую прошивку для теста в протеусе. 
      При инилизации подается импульс на вторую ножку U4a, и на предпоследнем столбце.
      Думал сетку сделать на 5 сдвиговых регистрах (как раз 40 сигнальных линий), но боюсь мощности МК не хватит для обработки FFT и вывода на матрицу, будет подвисать.
      Кто что думает по поводу схемы?
      бегущая строка.pdsprj Natali_2012_program.hex
    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • By Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
  • Сообщения

    • Вы продаете или нет ? В личке не отвечает .
    • Неожиданный вопрос. Значение УОЗ зависит от оборотов коленвала двигателя. Отсюда задача...., имея шкив с зубьями, определить обороты. А дальше как обычно.
    • А выполнены ли условия для чтения? Я точно не помню, там надо было некоторые ноги запаять на землю или питание. Чёт проводов много запаяно, там 5 штук только надо, хотя, если обходим защиту и х-прогом то возможно. Модуль знакомый, проц знакомый, вроде EWS для старых бемок. Если неаккуратно читать и включена защита, то дамп слетает с космической скоростью... со всеми вытекающими.
    • Стоят девчонки, стоят в сторонке, Платочки в руках теребят... Потому что на десять девчонок, По статистике: — 2 голубых, 3 алкоголика, 2 разведенных, 2 наркомана и 1 нормальный, да и то он женат...  
    • Подскажите, где можно почитать про алгоритмы обработки сигнала с зубчатого венца 60-2?  Алгоритм определения метки мне понятен, а вот какой алгоритм используется при выборе угла зажигания? Это жесткая привязка к каждому зубу венца или же подсчет длительности периода тоже происходит?
    • Для размагничивания мелкого инструмента давно использую катушку напряжения от старого электросчетчика. Места много не занимает, ее вполне достаточно.
    • С опозданием на несколько месяцев я прочитал! СПАСИБИЩЕ парни! блин времени пока совсем нет заняться любимым делом. Тружусь сейчас на 3-х работах. подъём в 6-00 , домой ночью в 1-00 - 3-00 и так каждый день почти . только в выходные сплю до 10-12ти и опять работа ,перестройка дома и отделка квартиры( по секрету: купил в центре Тулы в новостройке двушку ). Проектов уже целая куча в башке. Кстати друзья тут прикупили станки - электроэррозионку(резку), ЧПУ фрезерный , в планах лазер - как наладятся можно будет и про корпуса на поток подумать, и восстановил отношения с бывшим шуриным( по первой жене) у него плазменная резка и гибка - только работает с металлом не менее 1.2мм - основытельный и тяжёлый корпусок получится 
×
×
  • Create New...