Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
ayan1337
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 4
1

Объясните пожалуйста значения каждой строчки в коде

11.12.2018, 18:25. Просмотров 793. Ответов 2

Код в AVR studio, цель: вывести c помощью микроконтроллера на экран слово fantasy

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <avr/io.h>
#define FOSC 8000000
#define BAUD 9600
#define MYUBRR FOSC/16/BAUD-1
 
void USART_Init( uint16_t ubrr){
UBRR0H = (uint8_t)(ubrr>>8);
UBRR0L = (uint8_t)ubrr;
 
 
UCSR0B = (1<<RXEN)|(1<<TXEN);
UCSR0C = (3<<UCSZ0);
}
 
void USART_Transmit(char data){
while (!( UCSR0A & (0<<UDRE0)));
UDR0 = data;
}
 
 
int main (void) {
    USART_Init(MYUBRR);
    USART_Transmit('F');
    USART_Transmit('A');
    USART_Transmit('N');
    USART_Transmit('T');
    USART_Transmit('A');
    USART_Transmit('S');
    USART_Transmit('Y');
    while(1);
    
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2018, 18:25
Ответы с готовыми решениями:

Что делают строчки 29-47 в коде,объясните
//--------------------------------------------------------------------------- #include&lt;iostream.h&gt;...

Объясните, для чего нужны некоторые строчки в коде(using namespace, new, int main)
#include &lt;iostream&gt; using namespace std; //для чего эта строчка int main(void) // что нужно...

Объясните пожалуйста одну строку в коде
Объясните пожалуйста . #include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; void...

Объясните, пожалуйста что происходит в каждой функции
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace...

Товарисчи объясните пожалуйста как сделать данную задачу! (Найти наибольший элемент каждой строки А(4,6) и записать их в массив Y)
Найти наибольший элемент каждой строки А(4,6) и записать их в массив Y. С программированием не...

2
liv
854 / 717 / 152
Регистрация: 07.10.2015
Сообщений: 2,543
Завершенные тесты: 1
11.12.2018, 19:08 2
Лучший ответ Сообщение было отмечено ayan1337 как решение

Решение

ayan1337, смотрите комментарии:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <avr/io.h>
#define FOSC 8000000 //частота осциллятора 8МГц
#define BAUD 9600 //скорость передачи последовательного канала 9600 бод, т.е. бит в секунду
#define MYUBRR FOSC/16/BAUD-1 //что надо загрузить в UBRR0, чтобы получить нужную скорость
 
void USART_Init( uint16_t ubrr){ //инициализация нулевого USARTа, 9600,N,8,1
UBRR0H = (uint8_t)(ubrr>>8); //старший байт, 9600 бод
UBRR0L = (uint8_t)ubrr; //младший
 
 
UCSR0B = (1<<RXEN)|(1<<TXEN); //разрешение передатчика и приемника
UCSR0C = (3<<UCSZ0); //N(без контроля четности),8(бит),1(стоп-бит)
}
 
void USART_Transmit(char data){ //передача байта
while (!( UCSR0A & (1<<UDRE0))); //ждем, когда освободится выходной буфер, 
//тут была ошибка!!!! маска должна быть  (1<<UDRE0). Пока бит UDRE0 = 0 - буфер занят!
 
UDR0 = data; //инициируем передачу очередного байта
}
 
 
int main (void) {
    USART_Init(MYUBRR); //инициируем USART
    USART_Transmit('F'); //передаем байты
    USART_Transmit('A');
    USART_Transmit('N');
    USART_Transmit('T');
    USART_Transmit('A');
    USART_Transmit('S');
    USART_Transmit('Y');
    while(1); //бесконечно зацикливаемся
    
}
1
ayan1337
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 4
11.12.2018, 20:43  [ТС] 3
Большое спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2018, 20:43

Подскажите пожалуйста, что означают значения в коде
Просматривал исходники Qt и там заметил такую запись в объявлении свойств класса: uint...

Объясните две строчки кода
что значит вот это: имею вввиду каждые функциии: не могу найти if ( n.peek() ==...

Перегрузка, адресация, объясните строчки кода
Помогите разобраться что значат, делают приведенные строки кода: 1.В первой строке объявляется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru