0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 14
|
||||||
1 | ||||||
[MCS-51] Передать пакет данных через UART при помощи прерывания15.12.2020, 14:05. Просмотров 994. Ответов 12
Метки 8051, assembler, mcs51, mcu, ram, rs232, usb, запись, оперативная память, Подпрограммы, помощь, порт, прерывания, Чтение (Все метки)
Доброго времени суток!
Требуется любая помощь в решении задачи считывания/передачи через последовательный порт UART через прерывания, вроде бы уже что-то есть, но кажется что-то не то, МК должен сначала по прерыванию считать 200 байт данных с ПК, а по окончанию сразу передать 11 байт (несколько переменных, записанных ранее) на ПК. Записанные данные от ПК также ещё надо записать во внешнюю ОЗУ, вот что есть пока что...
Впервые использую ассемблер, буду рад любой помощи.
0
|
|
15.12.2020, 14:05 | |
(MCS-51) Выполнить прием из внешней памяти данных 20 байт и передать через последовательный порт в режиме 3 Получаю неполный пакет данных по UART Возможность передать при помощи определения #define двух численных значений через запятую? Зависает МК при одновременной отправки данных через UART |
|
15.12.2020, 22:21 | 2 |
0
|
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 14
|
|
16.12.2020, 04:37 [ТС] | 3 |
Спасибо за перенос темы, через пару дней уже сдавать задание, что-то понятно, что-то нет, но на чтение всей книги, кажется, времени не хватит, нужно ещё дописать программу и оформить..
0
|
950 / 580 / 96
Регистрация: 15.05.2012
Сообщений: 3,384
|
|
16.12.2020, 11:04 | 4 |
0
|
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 14
|
||||||
16.12.2020, 12:01 [ТС] | 5 | |||||
По RI и TI, сначала RI должен придти, поэтому сначала будет приём от ПК.
Немного изменил код, может стало лучше:
0
|
17.12.2020, 14:09 | 6 | ||||||||||
Что же такое творите, пересылка байта же времени требует, а у вас никаких ожиданий нет в коде.
да, и бит потом сбрасывать надо:
0
|
пофигист широкого профиля
4274 / 2798 / 791
Регистрация: 15.07.2013
Сообщений: 16,227
|
||||||||||||||||
19.12.2020, 01:56 | 7 | |||||||||||||||
vantfiles, ну и где же тут заданная в задаче работа через прерывание?
Тупо сидим в цикле
Добавлено через 6 минут Armlet, меня смущают конструкции типа
0
|
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 14
|
|
19.12.2020, 11:56 [ТС] | 8 |
Вроде бы тут должны данные записываться в оперативную память, но кажется что-то не так, похоже на передачу первой переменной из тех, что надо передать после приёма...
Добавлено через 3 часа 35 минут также сейчас пытаюсь подключить клавиатуру 4x4, но по заданию они с одного порта идут и не совсем понятно, можно ли как-то разделить старшие и младшие 4 бита? Во всех объяснениях в интернете говорят о 2 разных портах.
0
|
19.12.2020, 12:13 | 9 |
На прерывание лучше вешать прием, а передачу крутить в главном цикле, в нем все равно больше заниматься нечем.
Добавлено через 1 минуту да, и я всего лишь указал на ошибку и предложил вариант решения. Добавлено через 8 минут хотя, конечно, можно и передачу сделать через прерывание, но для этого понадобится буфер, в котором будет лежать передаваемое, а это доп-память, а ее и так мало
0
|
пофигист широкого профиля
4274 / 2798 / 791
Регистрация: 15.07.2013
Сообщений: 16,227
|
|
19.12.2020, 15:40 | 10 |
0
|
пофигист широкого профиля
4274 / 2798 / 791
Регистрация: 15.07.2013
Сообщений: 16,227
|
|
20.12.2020, 02:45 | 12 |
Это и странно если вы заявляете что
Ну не спорю. Возможно у вас и была такая ситуация.
Но вот у меня есть несколько программ для AT89Сx051, где производится работа и в главном цикле и во внешних прерываниях и в прерываниях порта. И вроде как проблем с памятью нет.
0
|
20.12.2020, 13:04 | 13 |
я упустил из вида, что у ТС в задании есть внешнее ОЗУ...
просто at89f2051 для этой задачи достаточен
0
|
20.12.2020, 13:04 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Прерывание таймером при приёме и передаче данных через UART (MCS-51) Програмирование UART Счётчик витков на компьютере при помощи модуля USB-UART (MCS-51) Передача символа по uart
Atmega + UART + прерывания Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |