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

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

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

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

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

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


 
Опции темы
Непрочитано 12.09.2019, 17:08  
Dronotello47
Прохожий
 
Регистрация: 12.09.2019
Сообщений: 1
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Dronotello47 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Хочу сделать 3 взаимосвязанных индуктивности, в книжке написано про примеры и всё такое, там есть примеры в протеусе Mutual1 и 2. В примере mutual2 есть 3 вазимосвязанных индуктивности, с одинаковой величиной индуктивности у всех 1 Гн, когда я меняю у какой-либо обмотки индуктивность, то она меняется у всех на такую же!!!!!! Как мне сделать 3 взаимосвязанных индуктивности с разной величиной индуктивности?????
Нажмите на изображение для увеличения
Название: 123.png
Просмотров: 0
Размер:	216.9 Кб
ID:	145201
Реклама:

Последний раз редактировалось Dronotello47; 12.09.2019 в 17:14.
Dronotello47 вне форума  
Непрочитано 12.09.2019, 18:04  
DmitriyVDN
Вид на жительство
 
Регистрация: 10.06.2010
Сообщений: 376
Сказал спасибо: 139
Сказали Спасибо 123 раз(а) в 88 сообщении(ях)
DmitriyVDN на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от Dronotello47 Посмотреть сообщение
когда я меняю у какой-либо обмотки индуктивность, то она меняется у всех на такую же!!!!!!
вы первый у кого это получилось.
DmitriyVDN вне форума  
Непрочитано 13.09.2019, 07:06  
ProtAS-13
Прописка
 
Регистрация: 17.03.2015
Сообщений: 202
Сказал спасибо: 0
Сказали Спасибо 166 раз(а) в 88 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от Dronotello47 Посмотреть сообщение
Как мне сделать 3 взаимосвязанных индуктивности с разной величиной индуктивности?????
Свойство MUTUAL_elem для индуктивностей использует особенности многоэлементных компонентов, обозначаемых L1:A, L1:B и т.д.
Поэтому, в зависимости от того, каким образом такие компоненты создавались и будет определяться, единый это компонент или составной. Поясню это на двух примерах:
1. Создаем единый компонент.
Накидываем компоненты в схему, а затем меняем их REF'ы (позиционные обозначения) на L1:A, L1:B и L1:C - ИМЕННО таким образом с двоеточиями и буквами.
При этом, НИКАКИХ предупреждающих сообщений не будет.
Теперь достаточно для любого из компонентов добавить/изменить свойства, чтобы они изменились для всех остальных.
2. Создаем составной компонент.
Накидываем компоненты в схему (можно просто скопировать уже созданные через Block Copy). Теперь нужно их привести к виду L2:A, L3:B и L4:C (если через Block Copy, то именно так они и будут обозначаться).
Здесь ВАЖНО именно то, что они все имеют разные REF'ы (L2, L3, L4).
Теперь переименовываем их поз.обозначения: L3 =›› L2, L4 =›› L2 - ИМЕННО таким образом - только основные обозначения, БЕЗ двоеточий.
При этом, будут появляться предупреждающие сообщения о том, что такое позиционное обозначение уже существует - соглашаемся.
Таким образом, создан составной компонент, для каждого элемента которого, можно задавать свои независимые свойства.
Следует лишь помнить, что свойство MUTUAL_elem должно присутствовать в каждом составном элементе.
-- для контроля, можно воспользоваться меню Tool-›Netlist Compiler, где контролируются REF'ы и их ID (см. рис).
Здесь четко видно, что составной компонент имеет ЕДИНЫЙ REF, но РАЗНЫЕ EID'ы (см L2), в отличии от единого L1.
Миниатюры:
Нажмите на изображение для увеличения
Название: pic1.jpg
Просмотров: 0
Размер:	358.9 Кб
ID:	145215  
ProtAS-13 вне форума  
Сказали "Спасибо" ProtAS-13
Dronotello47 (18.09.2019)
Непрочитано 14.09.2019, 15:35  
pic121618
Временная регистрация
 
Регистрация: 16.02.2019
Адрес: Барановичи
Сообщений: 79
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
pic121618 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Вопрос по Протеусу: я уже задавал его на другом портале:
https://www.radiokot.ru/forum/viewto...739&start=4900
Там никто не ответил, а здесь посмотрел последних 10 страниц - заводила
форума dosikus даже не появляется... Походу что здесь, что там,
вопросы нужно задавать изготовителю этого симулятора - ТЕНЬ-и...
Но тем не менее, мож кто-то из тех, кто считает что знает симулятор Протеус, и может ответить на любой вопрос - просветит меня дурака...

Вот именно заводила этого форума - он ещё на нескольких себя считает спецом по ХС8, вот и хочу задать пару вопросов dosikus по ХС8, хотелось бы в личку, но парочку спрошу здесь:
Ваше "http://forum.easyelectronics.ru/viewtopic.php?f=5&t=27589", а Вы
сделайте: bit init_flag=1; ... и соберите проект... Это первое.

А исчо оченьинтересуетструктурабитовыхпеременных:
Для асм:
#Define KN_PLUS_K STATUS_KN1,0 ; короткое нажатие кнопки "PLUS"
#Define KN_PLUS_D STATUS_KN2,0 ; длинное нажатие кнопки "PLUS"
Исполнение:
bsf/bcf KN_PLUS_K ; установка/сброс бита короткого нажатия конкретной кнопки
clrf STATUS_KN1 ; сброс коротких нажатий кнопок
clrf STATUS_KN2 ; и длинных

вместо уёбищногого :
// Для клавиатуры
bit But_UP_kor; // флаги нажатых кнопок
bit But_DOWN_kor; // --------- // ---------
bit But_SEL_kor; // --------- // ---------
bit But_ESC_kor; // --------- // ---------
bit But_UP_dl; // --------- // ---------

естественно когда я захочу сбросить флаги нажатия всех кнопок, то
вместо:
STATUS_KN1 = 0, STATUS_KN2 = 0;
Я буду 16 раз дрочить:
But_UP_kor = 0;
But_DOWN_kor = 0;
But_SEL_kor = 0...
И т.д. да ? Очень интересное направление, вместо того чтобы сделать
обработку процедуры быстро (допустим обработки клавиатуры) -
- я или имею быстрый доступ к битам,
- или имею быстрый доступ к байтам, но это намного больше ОЗУ
занимает...
- или же всё очень тормознуто...

Теперь дальше:
Есть пользовательский ИД в пик16/18. Ну про 16 старые - там понятно:
14 битная структура команд, максимальное значение слова = 0х3FFF.
Даже по структуре 2-ух байтового слова видно что в старший байт ничего не запишешь больше 0x3F или 0b00111111.
НО! в 18-тые то я могу записать нужную мне инфу в полном объёме ?
в асм это выглядит так:
ORG 0X200000
DB 0XAE,0X11,0X06,0X07,0X02,0X40,0X1F,0X01 ; User IDs

В сраном С99 это выглядит так:

//##############################################
//######## ID пользователя в PIC18F46K20
//##############################################
/*
#pragma config IDLOC0 = 0xAE // прописывает только мл. ниббл байта !!!
#pragma config IDLOC1 = 0x11
#pragma config IDLOC2 = 0x06
#pragma config IDLOC3 = 0x07
#pragma config IDLOC4 = 0x02
#pragma config IDLOC5 = 0x40
#pragma config IDLOC6 = 0x1F
#pragma config IDLOC7 = 0x01
*/
Почему я из-за сраного с99 (может не из-за него!) должен дрочить:

Soft_IIC_Read(Addr_24C04, 0x20, ; // прочитаем спецификацию и серийный
// номер из 24С04. Полное описание в файле "Пользовательский ID в PIC18.c"...
if (Err_I2C) { // проверка ошибок на шине I2C
LCD_Init(); // если есть ошибки, то для вывода ошибок - инициализация индикатора
Rabota_Err_IND3(); // выход на индикацию ошибки на шине I2C
}
//-------------------------------
EEPGD = 1; // 1 - работа с Flash
CFGS = 0; // 1 - Config, 0 - Flash
WREN = 0; // ДЕактивация записи
unsigned char i; // для подсчёта прочитанных/записанных байт
TBLPTR = 0x200000; // адрес пользовательского ID
for (i = 0; i ‹ 8; i++) {
asm("TBLRD*+"); // читаем байт с инкрементом адреса
Buf_EEPROM[i] = TABLAT; // прочитанные данные переписываем в буфер
}
Bit_Code_temp = 0; // для контроля корректности прочитанных данных
if (Buf_EEPROM[0] != 0xAE) Bit_Code_temp = 1;
if (Buf_EEPROM[1] != 0x11) Bit_Code_temp = 1;
if (Buf_EEPROM[2] != Buf_I2C[0]) Bit_Code_temp = 1;
if (Buf_EEPROM[3] != Buf_I2C[1]) Bit_Code_temp = 1;
if (Buf_EEPROM[4] != Buf_I2C[2]) Bit_Code_temp = 1;
if (Buf_EEPROM[5] != Buf_I2C[3]) Bit_Code_temp = 1;
if (Buf_EEPROM[6] != Buf_I2C[4]) Bit_Code_temp = 1;
if (Buf_EEPROM[7] != Buf_I2C[6]) Bit_Code_temp = 1;
//************************************************** ************************
if (Bit_Code_temp) { // если данные не совпадают, то прописываем ID.
// сначала сотрём все ячейки пользовательского ID...
Podsvetka = 1; // если идёт прописывание ID, то включаем подсветку индикатора
TBLPTRL = 0; // адрес пользовательского ID, сбросили мл. адрес после чтения
WREN = 1; // активация записи
FREE = 1; // активация стирания
GIE = 0; // запрет прерываний
EECON2 = 0x55; // стандартная процедура перед записью
EECON2 = 0xAA; // --------- // ---------
WR = 1; // запись буфера
while (WR) { // ожидаем сброс бита окончания записи
}
FREE = 0; // ДЕактивируем стирание
//-------------------------------
Buf_EEPROM[0] = 0xAE, Buf_EEPROM[1] = 0x11;
Buf_EEPROM[2] = Buf_I2C[0], Buf_EEPROM[3] = Buf_I2C[1];
Buf_EEPROM[4] = Buf_I2C[2], Buf_EEPROM[5] = Buf_I2C[3];
Buf_EEPROM[6] = Buf_I2C[4], Buf_EEPROM[7] = Buf_I2C[6];
// TBLPTR = 0x200000; // адрес пользовательского ID - при стирании
// он не изменился...
for (i = 0; i ‹ 7; i++) {
TABLAT = Buf_EEPROM[i];
asm("TBLWT*+"); // записываем байт с инкрементом адреса
}
TABLAT = Buf_EEPROM[i]; // последний записываемый байт -
asm("TBLWT*"); // записываем без инкремента "TBLPTR", а иначе
// глючит толи Протеус, толи ХС8...
EECON2 = 0x55; // стандартная процедура перед записью
EECON2 = 0xAA; // --------- // ---------
WR = 1; // запись буфера (буфер в PIC18 = 64 байтам)
GIE = 1; // разрешаем прерывания
WREN = 0; // запрещаем запись
}
TBLPTRU = 0; // очищаем ст. регистр табличного чтения: Для работы с Flash,
// регистр "TBLPTRU" должен быть равен нулю. Почему-то его не хочет
// сбрасывать сам ХС8...

У мну исчо мульён вопросов по сраному си: было бы кому ответить....
pic121618 вне форума  
Непрочитано 14.09.2019, 19:41  
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 7,589
Сказал спасибо: 645
Сказали Спасибо 3,444 раз(а) в 1,620 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: Proteus общие вопросы

pic121618, много букав, мало смысла.
Досикус давно покинул данный форум по причинам идеологического характера.
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
Kabron вне форума  
Непрочитано 14.09.2019, 21:55  
pic121618
Временная регистрация
 
Регистрация: 16.02.2019
Адрес: Барановичи
Сообщений: 79
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
pic121618 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Ага, дык и закрыл бы эту бесполезную тему. Всё равно здесь никто ничего не знает - так от части делятся люди своими частными наработками...
А больше - потрындеть...
pic121618 вне форума  
Непрочитано 15.09.2019, 21:33  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Сообщений: 3,112
Сказал спасибо: 250
Сказали Спасибо 1,597 раз(а) в 950 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Так ведь мало кто топчется на одном месте - люди давно уже вперед ушли. Кому интересно годами сидеть на одном и том же, даже если это просто хобби?
Сейчас уже даже совсем новички предпочитают что-то более совершенное и более материальное в плане того, что это можно осязать, потрогать, посмотреть вживую, применить на практике и получить реальный результат. Благо, появилось очень доступное по цене "железо" и надобность в программных симуляторах практически отпала. Что и подтверждается вашими результатами по ожиданию ответов.

Ассемблер уже давно не используется. Да и С99 безнадежно устарел (имею ввиду именно классический С версии 99-го года прошлого тысячелетия). Сейчас уже каждый третий знает C++ и пишет на нем (современная редакция C++17). Более совершенные компиляторы и более мощные МК позволяют писать на более сложных языках. С++ даёт большие возможности благодаря объектно-ориентированному подходу к программированию. Но полноценно применять С++ можно только на современных микроконтроллерах.

Протеус - некогда классная штука, но она не поспевает за развитием доступности компонентов.
Я сейчас использую Протеус только для домашнего рисования схем и печатных плат. Да и то, Протеус сделал прорыв в этом направлении только недавно, в версии 8.8 и 8.9, добавив возможность импортировать модели компонентов из специализированных интернет-ресурсов. Без этой возможности Протеус уже не отвечал современным требованиям.
Я понимаю, что развитие Протеуса тормозится большим числом пиратский версий и недополучением прибыли. Но черт возьми, вот обычный рядовой пользователь - откуда он возьмет сотню тыщщ руб на воскресное хобби?? Да он лучше эту сотню потратит на современный осциллограф, лабораторный блок питания и генератор сигналов.
NewWriter вне форума  
Непрочитано 15.09.2019, 23:14  
Gordey
Прописка
 
Аватар для Gordey
 
Регистрация: 13.06.2006
Адрес: Санкт-Петербург
Сообщений: 289
Сказал спасибо: 4
Сказали Спасибо 52 раз(а) в 17 сообщении(ях)
Gordey на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от NewWriter Посмотреть сообщение
Ассемблер уже давно не используется.
Кто вам это сказал?
Gordey вне форума  
Непрочитано 16.09.2019, 09:10  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Сообщений: 3,112
Сказал спасибо: 250
Сказали Спасибо 1,597 раз(а) в 950 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Я это сказал. Да вы вокруг посмотрите - что можно сделать на ассемблере на современных микроконтроллерах? Вы ассемблер для Cortex M7 видели? Насколько большую и насколько сложную программу вы сможете на нем написать? Уже не говоря о Cortex A.
Поэтому ассемблер остался только для очень мелких PIC10/12, где ресурсов очень мало, и задачи примитивны, типа управления реле или считывания контактов. Но это практически никому не интересно, особенно в хоббийных проектах. Для хобби уже даже двустрочник 1602 неинтересен. Берут графический OLED, TFT, E-paper

Последний раз редактировалось NewWriter; 16.09.2019 в 09:13.
NewWriter вне форума  
Непрочитано 21.09.2019, 23:03  
pic121618
Временная регистрация
 
Регистрация: 16.02.2019
Адрес: Барановичи
Сообщений: 79
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
pic121618 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от NewWriter Посмотреть сообщение
Так ведь мало кто топчется на одном месте - люди давно уже вперед ушли. Кому интересно годами сидеть на одном и том же, даже если это просто хобби?
Сейчас уже даже совсем новички предпочитают что-то более совершенное и более материальное в плане того, что это можно осязать, потрогать, посмотреть вживую, применить на практике и получить реальный результат. Благо, появилось очень доступное по цене "железо" и надобность в программных симуляторах практически отпала. Что и подтверждается вашими результатами по ожиданию ответов.

Ассемблер уже давно не используется. Да и С99 безнадежно устарел (имею ввиду именно классический С версии 99-го года прошлого тысячелетия). Сейчас уже каждый третий знает C++ и пишет на нем (современная редакция C++17). Более совершенные компиляторы и более мощные МК позволяют писать на более сложных языках. С++ даёт большие возможности благодаря объектно-ориентированному подходу к программированию. Но полноценно применять С++ можно только на современных микроконтроллерах.

Протеус - некогда классная штука, но она не поспевает за развитием доступности компонентов.
Я сейчас использую Протеус только для домашнего рисования схем и печатных плат. Да и то, Протеус сделал прорыв в этом направлении только недавно, в версии 8.8 и 8.9, добавив возможность импортировать модели компонентов из специализированных интернет-ресурсов. Без этой возможности Протеус уже не отвечал современным требованиям.
Я понимаю, что развитие Протеуса тормозится большим числом пиратский версий и недополучением прибыли. Но черт возьми, вот обычный рядовой пользователь - откуда он возьмет сотню тыщщ руб на воскресное хобби?? Да он лучше эту сотню потратит на современный осциллограф, лабораторный блок питания и генератор сигналов.
Про каких новичков Вы говорите ? Про тех, кто не зная ядро пишет чужими библиотеками, в которых сам ни в зуб ногой ?
Дык это не новички - это старички: продадут кому-нить свою разработку - завтра в зуб ногой, и пойдут как и дальше - в танчики дрочить... Там никто не пинает.
Или Вы про тех "блоххеров" - блогеров: один написал (вряд-ли написал - содрал и перевёл англоязычный блог), и после где ни посмотри - одна и та-же фуфлятина на 100 сайтах, а где-ж те новички ?
которые взяли тот стм с максимальным количеством записи во флеш 10.000. Это при лучшем раскладе, при худшем как в стм8 - 100 записей.
И где-ж те новички будут учится ? запишет парочку команд - проверит сотенку раз а после что ? Опять Али, опять пяток китайских стм ?
пик32 хотя бы гарантирует минимум 10.000 записей во флеш, у них это обычно значит норма - 100.000...
Так а чем этот стм прогрессивнее "PIC32MZ-EF- Family-DS60001320F" - может отсутствием эррат ? Дык да ! китаяйцы за копеечную цену своего товара никакую эррату не напишут, хорошо что с завода выходит боле-мене, на недельку хватит да и добра! Какие нах испытания на устойчивость, там даже бракованную память не закрывают ?!?...
Ну это ладно, Вы мне другое скажите:
Вам когда преподносят стм там в рекламных ... как назвать эту срань ...
прайсах чтоли...
Вам там обещают работу на частотах сколько 200 - 300 МГц ?
Напишите мне простую программу:

#define Pin_Test1 там какой-нить Интелловский DDRB = 1
#define Pin_Test0 там какой-нить Интелловский DDRB = 0

void main(void) {
while (1) {
Pin_Test1; // я и сам могу эти маркетинговые ходы проверить, но
Pin_Test0; // лень покупать: то что знаю - 100% потом выкину...
// на живом ослике мне покажите, а если мне не понравится, то я
// потрачу сраных 5 уёв, куплю это китайское ГЭ, и прогоню на своём
// осциллографе...
}
}

И ВЫ всётаки не ответили на мой вопрос по битовым структурам (звыняйте что к Вам обращаюсь, Вы ж тут бахвалите китайску продукцию):
Как вместо вот этого поноса:
// Register: TRISE
#define TRISE TRISE
extern volatile unsigned char TRISE @ 0xF96;
#ifndef _LIB_BUILD
asm("TRISE equ 0F96h");
#endif
// aliases
extern volatile unsigned char DDRE @ 0xF96;
#ifndef _LIB_BUILD
asm("DDRE equ 0F96h");
#endif
// bitfield definitions
typedef union {
struct {
unsigned TRISE0 :1;
unsigned TRISE1 :1;
unsigned TRISE2 :1;
unsigned :4;
unsigned WPUE3 :1;
};
struct {
unsigned RE0 :1;
unsigned RE1 :1;
unsigned RE2 :1;
};
} TRISEbits_t;
extern volatile TRISEbits_t TRISEbits @ 0xF96;
// bitfield macros
#define _TRISE_TRISE0_POSN 0x0
#define _TRISE_TRISE0_POSITION 0x0
#define _TRISE_TRISE0_SIZE 0x1
#define _TRISE_TRISE0_LENGTH 0x1
#define _TRISE_TRISE0_MASK 0x1
#define _TRISE_TRISE1_POSN 0x1
#define _TRISE_TRISE1_POSITION 0x1
#define _TRISE_TRISE1_SIZE 0x1
#define _TRISE_TRISE1_LENGTH 0x1
#define _TRISE_TRISE1_MASK 0x2
#define _TRISE_TRISE2_POSN 0x2
#define _TRISE_TRISE2_POSITION 0x2
#define _TRISE_TRISE2_SIZE 0x1
#define _TRISE_TRISE2_LENGTH 0x1
#define _TRISE_TRISE2_MASK 0x4
#define _TRISE_WPUE3_POSN 0x7
#define _TRISE_WPUE3_POSITION 0x7
#define _TRISE_WPUE3_SIZE 0x1
#define _TRISE_WPUE3_LENGTH 0x1
#define _TRISE_WPUE3_MASK 0x80
#define _TRISE_RE0_POSN 0x0
#define _TRISE_RE0_POSITION 0x0
#define _TRISE_RE0_SIZE 0x1
#define _TRISE_RE0_LENGTH 0x1
#define _TRISE_RE0_MASK 0x1
#define _TRISE_RE1_POSN 0x1
#define _TRISE_RE1_POSITION 0x1
#define _TRISE_RE1_SIZE 0x1
#define _TRISE_RE1_LENGTH 0x1
#define _TRISE_RE1_MASK 0x2
#define _TRISE_RE2_POSN 0x2
#define _TRISE_RE2_POSITION 0x2
#define _TRISE_RE2_SIZE 0x1
#define _TRISE_RE2_LENGTH 0x1
#define _TRISE_RE2_MASK 0x4
// alias bitfield definitions
typedef union {
struct {
unsigned TRISE0 :1;
unsigned TRISE1 :1;
unsigned TRISE2 :1;
unsigned :4;
unsigned WPUE3 :1;
};
struct {
unsigned RE0 :1;
unsigned RE1 :1;
unsigned RE2 :1;
};
} DDREbits_t;
extern volatile DDREbits_t DDREbits @ 0xF96;
// bitfield macros
#define _DDRE_TRISE0_POSN 0x0
#define _DDRE_TRISE0_POSITION 0x0
#define _DDRE_TRISE0_SIZE 0x1
#define _DDRE_TRISE0_LENGTH 0x1
#define _DDRE_TRISE0_MASK 0x1
#define _DDRE_TRISE1_POSN 0x1
#define _DDRE_TRISE1_POSITION 0x1
#define _DDRE_TRISE1_SIZE 0x1
#define _DDRE_TRISE1_LENGTH 0x1
#define _DDRE_TRISE1_MASK 0x2
#define _DDRE_TRISE2_POSN 0x2
#define _DDRE_TRISE2_POSITION 0x2
#define _DDRE_TRISE2_SIZE 0x1
#define _DDRE_TRISE2_LENGTH 0x1
#define _DDRE_TRISE2_MASK 0x4
#define _DDRE_WPUE3_POSN 0x7
#define _DDRE_WPUE3_POSITION 0x7
#define _DDRE_WPUE3_SIZE 0x1
#define _DDRE_WPUE3_LENGTH 0x1
#define _DDRE_WPUE3_MASK 0x80
#define _DDRE_RE0_POSN 0x0
#define _DDRE_RE0_POSITION 0x0
#define _DDRE_RE0_SIZE 0x1
#define _DDRE_RE0_LENGTH 0x1
#define _DDRE_RE0_MASK 0x1
#define _DDRE_RE1_POSN 0x1
#define _DDRE_RE1_POSITION 0x1
#define _DDRE_RE1_SIZE 0x1
#define _DDRE_RE1_LENGTH 0x1
#define _DDRE_RE1_MASK 0x2
#define _DDRE_RE2_POSN 0x2
#define _DDRE_RE2_POSITION 0x2
#define _DDRE_RE2_SIZE 0x1
#define _DDRE_RE2_LENGTH 0x1
#define _DDRE_RE2_MASK 0x4

Понатно, что этот понос чисто для портов проца, но я могу с помощью этой свалки добиться и того что мне нужно - а конкретно иметь красивый
доступ к битовым переменным конкретного байта...

Для асм:
#Define KN_PLUS_K STATUS_KN1,0 ; короткое нажатие кнопки "PLUS"
#Define KN_PLUS_D STATUS_KN2,0 ; длинное нажатие кнопки "PLUS"
Исполнение:
bsf/bcf KN_PLUS_K ; установка/сброс бита короткого нажатия конкретной кнопки
clrf STATUS_KN1 ; сброс коротких нажатий кнопок
clrf STATUS_KN2 ; и длинных

напишИте чтобы вот так для назначенного мною байта ОЗУ, только без порнографии - Вы говорите этот "современная редакция C++17" это позволяет, да ?
Вы сейчас скажете что при имении кучи памяти это Вам не нужно - будете правы только в том случае, если используете заводские библиотеки, а если сами будете что-то рисовать то : ху-на-ны...
Ну и напоследок (заипался ужо писать):
Для 32 битных процев позиционируют там по 256, 512 и т.д. килобайт
ОЗУ. А какони обрабатываются внутри того же стм 32 ? Если как позиционируются - 8-ми битными, то разницы от 8-ми битника почти ноль - пока Вы загрузите данные в эти действительно 32 байта полноценной ОЗУ, Вы не намного ускачете от 8-ми битника, а если они
загружаются одной командой (4 байта), то если мне придётся задефайнить парочку бит для АЦП, к примеру, потом второй
32-ух битный для флагов меню, к примеру, и т.д... ТО, там памяти очень то и немного для полноценной работы...
Так как там в стм32 позиционируется память ? Как для лохов покупателей - 128 кБайт, или нормально - 32 32-битных килослова ?
Да и ещё вопрос: я незнаю чего Вы там пишете такого, что можно выкинуть на следующий день, НО !
Вы пишете именно сами, или этими китайско-долбанутыми библиотеками, в которых сами по нулям. И именно поэтому, если Вам дадут в зуб за Вашу разработку, то Вы конечно не к симулятору побежите, а жаловаться производителю китайщины - типа ВЫ ЧО ? Меня с говном смешали, ВЫ ЧО там за фуфловые библиотеки понаписывали - мы такие бабки отстёгиваем за ваш китай ????
И китаяйци начнут шевелить жопой и объяснять на ломанном славянском: типа у нас продукция по цене (и по качеству) ниже плинтуса - ну некагда нам это дерьмо тестировать, возьмите более старое дерьмо - там мы уже на людях оттестировали...
pic121618 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по PROTEUS-у Advanced_LAMER Proteus 370 07.01.2018 05:26
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 292 05.06.2015 20:49
Вопросы по работе с Proteus dosikus Proteus 510 20.12.2007 18:48
CAN BUS общие впечатления vasseff Микроконтроллеры, АЦП, память и т.д 7 20.06.2007 09:15
Вопросы по Си. Zemlyanov Proteus, KiCAD и другие ECAD 5 20.11.2006 15:36


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


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