|
Мультипроцессорный обмен |
|
|
|
Dec 16 2005, 08:54
|
Знающий
   
Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709

|
Начал работать с мультипроцессорным обменом, для начала использую два МК. Написал программку, работает, но как-то странно. Передаю следующий массив char BuffTx[] = {0x55,AdrTo,0x23,0xCC,0x**,0xAA}; 0x55 – преамбула AdrTo – число, адрес МК куда посылаю, девятый бит 1. 0xCC – конец массива. По приёму этого байта подчинённый МК ставит флаг «приём завешён» 0x**(любой байт) и 0xAA – конец передачи для мастера. 0xAA в UART не посылается, по нему ресетится UART. Но без 0x** байт 0xCC не передаётся. Не пойму почему.
|
|
|
|
|
 |
Ответов
|
Dec 16 2005, 10:59
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(Oleg_IT @ Dec 16 2005, 11:54)  Начал работать с мультипроцессорным обменом, для начала использую два МК. Написал программку, работает, но как-то странно. Передаю следующий массив char BuffTx[] = {0x55,AdrTo,0x23,0xCC,0x**,0xAA}; 0x55 – преамбула AdrTo – число, адрес МК куда посылаю, девятый бит 1. 0xCC – конец массива. По приёму этого байта подчинённый МК ставит флаг «приём завешён» 0x**(любой байт) и 0xAA – конец передачи для мастера. 0xAA в UART не посылается, по нему ресетится UART. Но без 0x** байт 0xCC не передаётся. Не пойму почему. Может Ваш контроллер на стороне приема не успевет ('захлебывается') принять эту посылку. Во избежании такового необходима реализация процесса квитирования (подтверждение на готовность приема следующего байта). Она может быть реализована как аппаратная, так и программно, в зависимости от ресурсов и требований к Вашей системе.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Dec 16 2005, 11:23
|
Знающий
   
Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709

|
Цитата Может Ваш контроллер на стороне приема не успевет ('захлебывается') принять эту посылку. Во избежании такового необходима реализация процесса квитирования (подтверждение на готовность приема следующего байта). Она может быть реализована как аппаратная, так и программно, в зависимости от ресурсов и требований к Вашей системе. Нет, успевает. Я не отметил, что для наглядности я поставил задержки между байтами, такие, что на глаз видно как они уходят и приходят. И остальные байты правильно идут
|
|
|
|
|
Dec 16 2005, 11:54
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(Oleg_IT @ Dec 16 2005, 14:23)  Цитата Может Ваш контроллер на стороне приема не успевет ('захлебывается') принять эту посылку. Во избежании такового необходима реализация процесса квитирования (подтверждение на готовность приема следующего байта). Она может быть реализована как аппаратная, так и программно, в зависимости от ресурсов и требований к Вашей системе.
Нет, успевает. Я не отметил, что для наглядности я поставил задержки между байтами, такие, что на глаз видно как они уходят и приходят. И остальные байты правильно идут Это не то же самое о чем я говорил. Принимающая система должна дать разрешение на прием следующей информации, когда она готова к этому. Можете сделать такой эксперимент - попробуйте принимать байты и что приняли отсылать обратно. Возможно здесь Вы быстрее обнаружите свою ошибку (по всей видимости код...).
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
Сообщений в этой теме
Oleg_IT Мультипроцессорный обмен Dec 16 2005, 08:54 andk Судя по всему, проиходит вот это:
байт СС ложится ... Dec 16 2005, 11:56 Oleg_IT Цитата(andk @ Dec 16 2005, 14:56) Судя по... Dec 17 2005, 09:45 Roma_te Цитата(Oleg_IT @ Dec 16 2005, 12:54) Нача... Dec 16 2005, 15:04 Rash Цитатаесли не сложно, то сбросьте код сюда iteris@... Dec 17 2005, 10:20 Laptop Цитата(Oleg_IT @ Dec 16 2005, 11:54) Нача... Dec 18 2005, 16:51 Laptop Кому интересно. Вот мой вариант. Внутри код для об... Dec 18 2005, 17:12 andk Вот код.
Заточено под мои заморочки:
Отдельные выд... Dec 19 2005, 05:08 Oleg_IT Цитата(Laptop @ Dec 18 2005, 19:51) Видим... Dec 19 2005, 06:00  Laptop Цитата(Oleg_IT @ Dec 19 2005, 09:00) Имее... Dec 19 2005, 10:21   Oleg_IT Цитата(Laptop @ Dec 19 2005, 13:21) Именн... Dec 19 2005, 11:41 andk >6. По приходу прерывания,… и по обнаружения в ... Dec 19 2005, 12:05 Oleg_IT Цитата(andk @ Dec 19 2005, 15:05) >6. ... Dec 19 2005, 12:24  andk Цитата(Oleg_IT @ Dec 19 2005, 17:24) Цита... Dec 20 2005, 08:54 Laptop Вот кусочек моего исходника по мультипроцессорному... Dec 19 2005, 23:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|