Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Родился
Аватара пользователя
Сообщения: 15
Зарегистрирован: Чт июн 21, 2012 09:59:29

Сообщение Volt_A »

Прошу прощения, что копирую с соседней ветки, изначальный вопрос, просто ещё не до конца изучил структуру форума. Начал изучать мк ST, конкретно - stm8s103f2, скачал пример, но в нем используются другой порт I/O (да и МК другой), помогите (или ткните носом :)) ), где что изменить, для работы вывода на порт С (конкретно на PC7, так как использую мк в корусе TSSOP20/SO20, а вывода PD там нет: ПО IAR6.0 + ST-Link) , (а ещё лучше, где скачать примеры для этого мк :wink:) заранее спасибо...
Спойлер// ----------------------------------------------------------------------------
// Учебный проект по STM8
// Урок-1.1 "Hello, world? No! Hello LED!!!"
// Мигание светодиодом с использованием программной задержки
// Автор: Eugeny Monastyrev
// Плата: STM8 Discovery, CLK=16MHz
//
// main.c подходит для любого компилятора IAR, Cosmic, Raisonance
// с использованием определений из библиотеки STMicroelectronics
// для компиляции требуются файлы stm8s.h и stm8s_type.h из библиотеки.
// В файле stm8s.h найдите и закомментируйте #define USE_STDPERIPH_DRIVER
// ----------------------------------------------------------------------------
#include "stm8s.h"
#define LED_BIT 0 //на Discovery светодиод подключен на PD0, активный уровень - 0

void main( void )
{
long i;
//Инициализируем CLK
CLK->ECKR|=CLK_ECKR_HSEEN; //Разрешаем работу генератора с внешним кварцем (HSEEN)
CLK->SWCR|=CLK_SWCR_SWEN; //Разрешаем автопереключение источника Clock при неисправности генератора
CLK->SWR=0xB4; //Включаем clock от кварцевого генератора (HSE)
CLK->CKDIVR=0; //Делители частоты внутреннего и внешнего генератора на 1 - частота ядра максимальная
while(CLK->CMSR!=0xB4); //Ждем стабилизации частоты
CLK->CSSR|=CLK_CSSR_CSSEN; //Разрешаем автопереключение источника Clock на внутренний при неисправности генератора

//Инициализируем GPIO
GPIOD->DDR|=1<<LED_BIT; //PD0 - на вывод
GPIOD->CR1&=~(1<<LED_BIT); //PD0 - открытый сток
GPIOD->CR2&=~(1<<LED_BIT); //PD0 - ограничение скорости отключено

//Собственно мигание
while(1)
{
GPIOD->ODR^=(1<<LED_BIT); //Переключим светодиод
for(i=0;i<200000;i++) //Подождем...
{
asm("nop"); //для исключения влияния оптимизации
}
}
}
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Так у вас же каждая строчка раскомментирована!

Код: Выделить всё

#define LED_BIT 0 //на Discovery светодиод подключен на PD0, активный уровень - 0

Код: Выделить всё

//Инициализируем GPIO
GPIOD->DDR|=1<<LED_BIT; //PD0 - на вывод
GPIOD->CR1&=~(1<<LED_BIT); //PD0 - открытый сток
GPIOD->CR2&=~(1<<LED_BIT); //PD0 - ограничение скорости отключено
Меняете на нужный порт (GPIOC, и в цикле не забудьте), и нужный бит в дефайне (LED_BIT)

Это просто следуя логике.
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 43
Зарегистрирован: Ср дек 05, 2012 13:28:03
Откуда: Марляндия

Сообщение masmax »

Помогите засветить модуль светодиодов. Попался под руку вот такой модуль китайский: http://leddiscovery.en.made-in-china.co ... odule.html Никакой инструкции нет, есть только маркировка входов. Подключил его к Atmega8535. Получилось поиграться с цветами, можно засветить либо весь экран, либо по половинкам. А как засветить отдельную точку?

Входы у модуля: по два на каждый цвет (R1,G1,B1,R2,G2,B2 верхняя и нижняя половины) плюс входы A,B,C с которыми я до сих пор не пойму логики. И стандартные Clock и OE. С последними двумя разобрался, с цветами тоже, а вот в ABC что писать? Плюс еще вход LAT есть непонятный. Даташит не нашел на модуль.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Аватара пользователя
Сообщения: 43
Зарегистрирован: Ср дек 05, 2012 13:28:03
Откуда: Марляндия

Сообщение masmax »

ibiza11 писал(а):http://www.mblock.com.tw/products.php?KindID=1&ID=8#1
Ясно, я думал это средствами МК можно сделать :)
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

masmax, Вы правильно думали. Я дал ссылку на даташит контроллера светодиодов, который из той же серии, что и контроллер на Вашем модуле.
Ставим плюсы: )
Реклама
Родился
Аватара пользователя
Сообщения: 18
Зарегистрирован: Чт дек 27, 2012 05:24:10

Сообщение Твори бобро »

Здраствуйте. В общем хочу сделать себе програматор как тут http://prottoss.com/projects/AVR910.usb ... rammer.htm , но есть проблемма, там используется мега8, а у меня есть только мега128. Реально-ли прошить 128-ую мегу, прошивкой от 8-ой меги? Я вроде читал про совместимость "вверх", у атмеловских контроллеров.
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Не реально. Если только перекомпиляция исходника и то если он на языке высокого уровня. Совместимость заключается только в одинаковых названиях регистров и то далеко не всех...
Мучитель микросхем
Сообщения: 436
Зарегистрирован: Сб апр 10, 2010 16:46:26

Сообщение murzila »

Так ATmega8 вроде не относится к разряду дорогих или дефицитных.
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

Помогите пожалуйста переписать код с AHDL на Verilog


CASE RES_SV IS
WHEN B"1" => RES_CASE = VCC;
WHEN B"x" => RES_CASE = VCC;
WHEN B"0" => RES_CASE = GND;
END CASE;

RESET=RES AND RES_CASE;
Родился
Аватара пользователя
Сообщения: 18
Зарегистрирован: Чт дек 27, 2012 05:24:10

Сообщение Твори бобро »

Engineer_Keen писал(а):Не реально. Если только перекомпиляция исходника и то если он на языке высокого уровня. Совместимость заключается только в одинаковых названиях регистров и то далеко не всех...
Пытался перекомпилировать в разных IDE. В IAR-e даже дошло до линковки, но линковщик послал меня далеко и нецензурно, В других IDE-ах, ругается еще раньше.
murzila писал(а):Так ATmega8 вроде не относится к разряду дорогих или дефицитных.
За ней надо ехать 30км. Или ждать несколько дней. А 128-ых у меня хоть с гвоздями жарь.
Друг Кота
Аватара пользователя
Сообщения: 20132
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Теоретически, дело может ограничиться переименованием регистром и модификацией обращения к РВВ и периферии. А может и не прокатить.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Друг Кота
Аватара пользователя
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Сообщение hybroid »

Надо вкурить даташиты обоих "мег". Основная "фича" атмеловских МК - это именно их взаимозаменяемость, переносимость и т.д. Сложностей там особо нет, особенно при продвижении "вверх".
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Твори бобро писал(а):В IAR-e даже дошло до линковки, но линковщик послал меня далеко и нецензурно, В других IDE-ах, ругается еще раньше.
Ну так надо смотреть на что ругается и исправлять, естественно сравнивая при этом даташиты, как hybroid сказал.
Родился
Аватара пользователя
Сообщения: 18
Зарегистрирован: Чт дек 27, 2012 05:24:10

Сообщение Твори бобро »

Линковщик ругался на "USB - четатам" всего 9 ошибок. Попробую перенести код с USBasp там вроде все на си, без ассемблера.
Подумал своей тыквой, поискал готовое решение на 128 меге...не нашел.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

там вроде все на си, без ассемблера
щито ?? если мне не изменяет память, то usbasp, tinyusb и прочие программаторы сделаны с использованием либы obdev, которая хоть и написана на си, но оперирует ассемблерными операциями.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

Сообщение unalex »

Твори бобро писал(а):
murzila писал(а):Так ATmega8 вроде не относится к разряду дорогих или дефицитных.
За ней надо ехать 30км. Или ждать несколько дней. А 128-ых у меня хоть с гвоздями жарь.
а у меня наоборот восьмерки валяются, а 128 нужен по учебе, но лень ехать покупать
жаль что мы не соседи
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
Родился
Аватара пользователя
Сообщения: 18
Зарегистрирован: Чт дек 27, 2012 05:24:10

Сообщение Твори бобро »

эх, если-бы в 45-м.....пили-бы щас баварию :)))

Вот еще вопрос, залоченность МК, это значит что не шить не читать нельзя или только читать, а стереть можно?
У меня тут мысль возникла. В паяльной станции lukey 853D+ там точно есть две штуки mega8. Впринципе у меня уже есть паяльная станция получше, но ломаль железку понапрасну тоже не хочется.
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Прочитать нельзя, но можно стереть, и использовать как новый.
Родился
Аватара пользователя
Сообщения: 18
Зарегистрирован: Чт дек 27, 2012 05:24:10

Сообщение Твори бобро »

Понял, спасибо.
Проблемму решил варварским способом с элементами садо-мазо :))) Отпаял мегу8 которая управляла паяльником....феном той-же станции. 2 интересные вещи заметил. Это то что меги разные,на паяльние обычная MEGA8A а на фене MEGA8L. И переходник TQPF-DIP.
Китайцы такие китайцы :)))
IMG_3192.jpg
(205.6 КБ) 289 скачиваний
Ответить

Вернуться в «Разные вопросы по МК»