-
Постов
641 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные KARLSON
-
-
Здравствуйте. Скажите правильно ли я понял? В АД нет структуры библиотеки как в P-CAD, т.е. Одно схемное изображение на разные компоненты. А то смотрю при создании интегрированной библиотеки в файле SCHLib создаются компаненты, а к ним разные посадочные места в PcbLib. Например распространнёный компанент резисторы. Схемное обозначение одинаковое а корпусов куча, соответственно названий компанентов тоже куча. Так мне получается копировать в каждый компонент со своим названием одно и то же схемное обозначение?
-
Спосибо всем, особенно rezident. Возможно я поступил по Вашему, но через ассемблер. А именно
Создаётся файл info.s43
public max_ust, min_ust, config, count_clear ASEG 0x1000 max_ust DB 25 min_ust DB 19 config DB 1 count_clear DB 0 end
А до майна у меня вот что:
extern signed char max_ust, min_ust, config; extern unsigned char count_clear;
И никаких указателей и структур не надо. Хотя кому как удобно. И обращаемся к ним прямо по именам. Это при оптимизации медиум, при более сложных не проверю, т.к. уже многое не работает при этом)))
-
Здравтсвуйте.
Ситуация такая:
Есть 3 переменные, которые необходимо разместить во FLASH памяти.
#pragma memory = constseg(INFOD) // адреса 1000-103F const volatile signed char nst min_ust = 19, // 3 установленное по умолчанию отрицательное значение max_ust = 25, // 4 установленное по умолчанию положительное знание config = 1;
Кстати, без слова "const" переменные во флеш не размещаются. Кто-нибудь знает почему?
Эти переменные изменяются пользователем путём стирания и записывания флеш памяти. Значения меняются точно.
Далее
есть кусок кода:
if ((DATA.temperatura > max_ust) || (DATA.temperatura < min_ust)) // если температура вышла из диаппазона { // делаем то-то } else // если норма { // делаем другое }
Без оптимизации в настройках компилятора всё нормально, но стоит включить оптимизацию, то в условии в место max_ust и min_ust компилятор ставит 25 и 19 соответственно. Вся загвоздка скорее всего в ключевом слове const. Но без него переменные оказываются в оперативной памяти.
Без оптимизации не могу, т.к. уже код не умещается в памяти контроллера.
Как выйти из сложившейся ситуации?
-
А почему цены для 2-х ПП? Одну нельзя или цена одна и таже?
А объём относится к одной ПП или общий для двух?
Если что, я за!
-
Конденсаторы по питанию не помогли?
По мне так проблема чисто аппаратная. Вы можете представить на суд схему? Если есть осциллограф посмотрите цепи питания и ресет при включении нагрузки. Развёртку поставьте в ждущем режиме.
-
есть для P-CAD 149 и 21x2. Если надо, то лучше в личку написать.
-
То что по питанию стоят ёмкости это я знаю. Я предложил увеличить их номинал не менее моего.
-
MASP это опечатка))) MSP
Меня смутило JTAG:8 -> MSP:59, если на этой линии джампер, то вытащите его. JTAG:8 должен быть пустой
JTAG:2 -> MSP:7; может всё таки MSP:1?
JTAG:9 -> MSP:10 если есть перемычка, также убирайте. Должно быть просто JTAG:9 -> GND.
Должно быть GND -> MSP:63, MSP:62
-
Получается по параметрам индуктивность, скорость, лучше сплошной полигон, а по короблению платы - сетка. (Не прав получается был препод). И где середина, что бы и там и там было хорошо?
-
По Питанию микросхемы повесьте электролит/тантал 220 мкф и паралельно ему керамику микрофарад 10. А как у Вас цепь RESET сделана?
-
Про то что у проводника в виде импульса меандра индуктивность меньше чем у прямолинейного в институте рассказывали. Про коробление кстати то же, совсем забыл.
-
Это не ошибка! Это нормальные логичные результаты. А вот в случает if (UCB0STAT & (UCBBUSY + UCSCLLOW)) результат будет один и тот же. Просто кто как привык писать код.
-
Опубликовано · Изменено пользователем KARLSON · Пожаловаться
Но результат то один и тот же!
Советую все же ознакомиться с оригинальной спецификацией I2C и реализовать функцию Bus clear. Весьма пригодится ;)restart при зависании шины заложена.
-
О токах проходящих через каждую линию в сетке.
Направление: имеется ввиду расположение проводников. С начала в одну сторону, затем под 90 градусов, соответственно взаимодействие полей нет.
-
Рекомендацию я конечно же учту, но в чём разница результата операций "|" и "+"?
PS А модуль USCI в режиме I2C + UART я всё таки укратил (пока ошибок не было). В понедельник проверю ещё раз и если всё в порядке приведу код.
И ещё (типа слова к разработчикам контроллера), зря запихали они в один вектор прерывания и передачу по UART и приём/передача по I2C, а в другой приём по UART с битами состояния шины I2C. Векторов что ли жалко было?
-
Я смотрю там джаммперы есть, так вот проверьте тестером следующие цепи:
JTAG:1 -> MSP:54
JTAG:2 -> MSP:1
JTAG:3 -> MSP:55
JTAG:4 -> НИКУДА
JTAG:5 -> MSP:56
JTAG:7 -> MSP:57
JTAG:9 -> GND
JTAG:11 -> MSP:58
MSP:1 -> MASP:64
MSP:63 -> MASP:62
MSP:63 -> GND
Остальные выводы у разьёма никуда.
-
Кстати заливать лучше не сплошным, а сеткой. У сетки индуктивность общая меньше за счёт постоянного изменения направления тока.
-
Здравствуйте. Скажите пожалуйста, а в каком случае устанавливается бит UCBBUSY в регистре UCB0STAT модуля USCI в режиме I2C.
Дело вот в чём: В течении примерно часа происходит сбой на шине. Смотрю регистры и в каком месте произошёл сбой. Так вот, после успешного некоторого обмена с микросхемой слейвом, завершающийся операцией стоп, при следующем обмене происходит проверка занятости шины или то что SCL в нуле "if (UCB0STAT & (UCBBUSY + UCSCLLOW))".
Мастер на шине только я (контроллер), смотрю на шину осциллографом, на шине SDA и SCL уровень логический 1. А бит UCBBUSY установлен в 1 (все остальные в регистре нули). Помогает только путём возведения и опускания бита UCSWRST в регистре UCB0CTL1.
Кстати контроллер 430F2132
Исчезло устройство msp-fet430uif из списка оборудования
в MSP430
Опубликовано · Пожаловаться
Вроде как то сталкивался с такой проблемой. Но потом видимо ставил сборку винды уже со встроенным сервис паком 3 и проблем уже давно такой нет.