Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 12.07.2021, 01:46  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,415
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: ADUCM360 и RS485

Сообщение от optical illusion Посмотреть сообщение
Ха...
А если у МК поддерживается сразу несколько адресов?
Думаю, такая конструкция "криво" будет работать.
если в несложном проекте на 1 проц надо несколько адресов - это уже косяк создателя протокола или его пользователя но никак не н самого проца.

даже у компа нет 2 IP адресов.
в протоколе есть свой IP и широковещательный. все!!
кстати бывает у простых процов широковещательный адрес тоже обрабатывается аппаратно
Реклама:
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 12.07.2021, 10:31  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: ADUCM360 и RS485

Сообщение от j-Roger Посмотреть сообщение
Всегда? А вот в том же проекте ADI СN0359 не так. Там ясно описан формат команды - первым в ASCII-строке идёт набор байтов, который интерпретируется как строковое представление десятичного числа и используется как адрес.
Авторы что-то не знали об RS485? Шутка.

Видимо, стоит более чётко различать физический уровень (RS-485, RS-422, RS-232 и т. д. и т. п) и протокол обмена/формат сообщений.

В общем, всем удачи!
Автор программы может писать, что его душе угодно. Формат адреса один байт без знака и 9 бит используется как управление (адрес\данные). Это стандартный формат режима №3 работы UART.
Применялось в чипах KP1816, подробно этот режим описан в книге "Однокристальные микроЭВМ. М. МИКАП. 1994. Справочник". на стр. 157.

Последний раз редактировалось optical illusion; 12.07.2021 в 10:59.
optical illusion вне форума  
Непрочитано 12.07.2021, 12:26  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию

Нашел интересный документик:
https://www.intel.com/content/dam/ww..._uart_fifo.pdf

Сообщение от На стр 33 пишут
Parity generation and checking can be enabled or disabled. If parity is disabled, no parity bit is
transmitted, and the receiver does not expect to receive a parity bit. If parity is enabled, it can be
even, odd, or stick parity:
Even parity—Parity bit is 1, if the character has an odd number of 1s
Odd parity—Parity bit is 1, if the character has an even number of 1s
Stick parity—Parity bit can be forced to 1 or 0
Бит четности может быть установлен принудительно.
На передачу понятно как это работает.
На прием - непонятно, что будет, если в этом случае придет бит четности другой полярности (и если установлен флаг прерывания ошибки четности)?
Установили принудительно "0" бит четности - приходит "1" идет на прерывание? Или как?

Сообщение от j-Roger Посмотреть сообщение
отдать её как есть на верхний уровень, который будет разруливать её содержимое. Как это сделано в проекте СN0359 и в вашем ( тестовом? )
Я сейчас понял почему это так делается.
Хотя в других процах делать удобнее было бы в обработчике прерываний.
Возможно, разница в подходах потому что нет битового процессора в АРМ.

Подскажите, плз, как толковать эти строки, что такое -#ifdef __cplusplus.
Как с этим "бороться"?
Это нужно для всех хэндлеров обработчиков прерываний?
Код:
#ifdef __cplusplus
extern "C"
{
#endif
	void ADC0_Int_Handler(void)
	{
		adc0_result = pADI_ADC0-›DAT;
		app msg;
		msg.argc = 0;
		msg.fun = on_adc0;
		ts_post_message(msg);
	}
	void ADC1_Int_Handler(void)
	{
		adc1_result = pADI_ADC1-›DAT;
		app msg;
		msg.argc = 0;
		msg.fun = on_adc1;
		ts_post_message(msg);
	}
#ifdef __cplusplus
}
#endif

Последний раз редактировалось mike-y-k; 03.10.2022 в 11:46. Причина: 6.6, code, quote
optical illusion вне форума  
Непрочитано 18.08.2021, 11:09  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 683
Сказал спасибо: 362
Сказали Спасибо 757 раз(а) в 359 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: ADUCM360 и RS485

optical illusion, вот тут достаточно подробно про это расписано.
Вкратце: это сделано, чтобы одинаково работало как для системы программирования С++, так и для С. Бороться с этим не нужно, это можно просто игнорировать )
j-Roger вне форума  
Сказали "Спасибо" j-Roger
optical illusion (18.08.2021)
Непрочитано 18.08.2021, 12:04  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: ADUCM360 и RS485

Это да. Нужно изучать С++.
Я приделал к обработчику прерываний I2C такую штуку и перетащил в отдельный файл его. С этой примочкой у меня прерывания I2C работают. Сейчас попробую убрать эти строки.

PS Без этого тоже все работает.

Последний раз редактировалось optical illusion; 18.08.2021 в 12:45.
optical illusion вне форума  
Непрочитано 02.10.2022, 12:21  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: ADUCM360 и RS485

Запустил этот режим.
Вот тут пример обработчика прерываний.
Переменную SM2 добавил чтобы была совместимость кода написанного для Intel 8052.
При посылке в формате 9 бит с адресом "3", устройство переводится в 8 битный обычный режим UART.
При посылке с адресом "4", устройство отправляет бит квитирования "4" и переходит снова в режим 9 бит.

Типа, пользуйтесь, господа.
Код:
#include ‹ADuCM360.h›
#include ‹stdio.h›
#include ‹stdlib.h›
#include "LIB\UrtLib.h"
///////////////////////////////////////////////////////////////////////////
// UART_Int_Handler   9bit mode
///////////////////////////////////////////////////////////////////////////
//  SM2= 1;      Wheit input byte "AdrUart" -›  8bit+1bit(1);
//  SM2= 0;      Wheit input byte DATA 8bit -›  8bit+1bit(0);
//  
#ifdef __cplusplus
extern "C"
{
#endif
void UART_Int_Handler ()
{
	  ucLinSta0 = UrtLinSta(pADI_UART);	
        ucCOMIID0 = UrtIntSta(pADI_UART); 
if ((ucCOMIID0 & 0x2) == 0x2){ uart_TX_flag= 0;  return; }
if ((ucCOMIID0 & 0x4) == 0x4){ ucComRx = UrtRx(pADI_UART);	 
		    ucRxBufferFull= 1;
    if (((ucLinSta0&0x9)==0x9)&&(SM2==0))
                            {uart_recive_flag= 1; return;  } 
    if (((ucLinSta0&0x9)==0x1)&&(SM2==1))
                   { if (ucComRx==3)   { SM2=0;  return;  }	            
                     if (ucComRx==4)   { SM2=0; UrtTx(pADI_UART, '4'); SM2=1;  return;  }     
} } }
#ifdef __cplusplus
}
#endif

Последний раз редактировалось mike-y-k; 03.10.2022 в 11:47. Причина: code
optical illusion вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проброс rs485 по TCP/IP leontix Автоматика и аппаратура связи 33 28.08.2019 22:50
PROSTAR PR6000 по RS485 volk_perm Производственное оборудование 14 09.01.2017 18:18
Собрать преобразователь 4-20ма / RS485 Дератизатор Микроконтроллеры, АЦП, память и т.д 13 03.09.2012 08:36
RS485 stri Микроконтроллеры, АЦП, память и т.д 4 06.08.2007 10:36
[Решено] c АЦП через rs485 t0wer Измерительное оборудование 2 05.11.2004 11:40


Часовой пояс GMT +4, время: 20:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot