Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
Он же вам русским языком говорит - "не могу открыть файл code.asm"
Файл-то где лежит? Пропишите полный путь к нему...
Файл-то где лежит? Пропишите полный путь к нему...
Re: Мелкие практические вопросы
Народ! Помогите с таймером1 в AT90S2313. Нужно его настроить на срабатывание по совпадению. Уже 3 книги перешерстил. А он никак не хочет срабатывать более одного раза. Обрабатываю прерывание TIM_COMP1. Работаю в АВР Студио 4.
Даю на суд код. Повыкидал все лишнее - оставил только суть. Задержку на срабатывание поставил чуть больше 5000 мкс. Ловлю срабатывание по регистру r19 названном - fp. Inc получается только один раз.
Простынь из кода в файле
(отредактировал 21.02.11 в 8:49)
Даю на суд код. Повыкидал все лишнее - оставил только суть. Задержку на срабатывание поставил чуть больше 5000 мкс. Ловлю срабатывание по регистру r19 названном - fp. Inc получается только один раз.
Простынь из кода в файле
- Вложения
-
- timer1.asm
- (2.88 КБ) 301 скачивание
Последний раз редактировалось IvanM Пн фев 21, 2011 09:49:53, всего редактировалось 1 раз.
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
IvanM, не надо выкладывать такие простыни кода. С уважением 
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
А то ща придёт злой дядя ploop и будет ругаться!
Вот пример настройки на срабатывание по совпадению:
Вот пример настройки на срабатывание по совпадению:
ldi tr0,(1<<OCIE0A) ; прерывания по совпадению A
sts TIMSK0,tr0
ldi tr0,(1<<WGM01) ; режим срабатывания по совпадению
out TCCR0A,tr0
ldi tr0,ext_counter_cnt ; заряжаем число отсчетов A
out OCR0A,tr0
Re: Мелкие вопросы по МК и ПЛИС.
Есть выбор между
ATxMEGA-FastProg 300 грн ака авр ISP mk2
http://www.kosmodrom.com.ua/el.php?name=XMEGA-FP
и
AVR ISP v3.2 360грн
http://kosmodrom.com.ua/razrabotka/avr_isp_3_2.php
что посоветуете?
если учесть, что мне иксмеги прогить не надо и хочется чтоб все сразу поелетло на вин 7 без проблем с дровами
вообще, AVR ISP v3.2 - это что за зверь? он как avr ISP mk2 определяется или как avr ISP просто или как?
ATxMEGA-FastProg 300 грн ака авр ISP mk2
http://www.kosmodrom.com.ua/el.php?name=XMEGA-FP
и
AVR ISP v3.2 360грн
http://kosmodrom.com.ua/razrabotka/avr_isp_3_2.php
что посоветуете?
если учесть, что мне иксмеги прогить не надо и хочется чтоб все сразу поелетло на вин 7 без проблем с дровами
вообще, AVR ISP v3.2 - это что за зверь? он как avr ISP mk2 определяется или как avr ISP просто или как?
Re: Мелкие вопросы по МК и ПЛИС.
ну так это таймер0 помоему. Помогите по моему примеру пожалуйста. Все делал как в книгах написано.ploop писал(а):Вот пример настройки на срабатывание по совпадению:
Re: Мелкие вопросы по МК и ПЛИС.
У вас первый таймер? Ну так делайте по аналогии. Проверьте значения битовых масок в регистрах настройки - возможно там ошибка. И советую задавать значения при настройке используя ИМЕНА битов, а не их числовое представление. Шанс ошибиться меньше.
-
Shurf
- Встал на лапы
- Сообщения: 83
- Зарегистрирован: Ср май 12, 2010 10:24:41
- Откуда: Чувашия, Новочебоксарск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Можно ли определить ID датчика ds18b20 по маркировке на корпусе? Например мой датчик имеет надпись на корпусе:
0843С3
+161AN
0843С3
+161AN
- DJ_Kiridza
- Мучитель микросхем
- Сообщения: 458
- Зарегистрирован: Пн дек 13, 2010 13:01:59
- Откуда: Украина
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Привета.
Если кто читал предыдущих два моих поста с описанием траблы - то проблема была в оптроне, выбросил оптрон, минус Midi порта кинул на минус схемы, ногу атмеги Tx подал через резак на Midi-In порта и всё заплясало....
непокоит следующее:
(вынес запись в порт за пределы (ДО!) главного цикла программы - так чтб значение установилось 1 раз и не менялось)
Почему на ножках не появляется соотв. напряжение?
В смысле, вот я пишу в порт 0:
но всех ногах порта С должно появиться около -5В (при напряжении питания атмеги 5В), правильно? у меня на всех ногах около 2,5В.... или я что-то упустил?
Если кто читал предыдущих два моих поста с описанием траблы - то проблема была в оптроне, выбросил оптрон, минус Midi порта кинул на минус схемы, ногу атмеги Tx подал через резак на Midi-In порта и всё заплясало....
непокоит следующее:
;Инициализация порта С
ldi temp, 0x00
out DDRC, temp ;Порт С на вывод
...
ldi KeyPinOut1,0xFE ;11111110
...
out PORTC,KeyPinOut1
Main:
....
rjmp Main:
(вынес запись в порт за пределы (ДО!) главного цикла программы - так чтб значение установилось 1 раз и не менялось)
Почему на ножках не появляется соотв. напряжение?
В смысле, вот я пишу в порт 0:
LDI temp,0x00
OUT PORTC,temp
но всех ногах порта С должно появиться около -5В (при напряжении питания атмеги 5В), правильно? у меня на всех ногах около 2,5В.... или я что-то упустил?
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
Re: Мелкие вопросы по МК и ПЛИС.
ldi temp, 0x00
out DDRC, temp ;Порт С на вывод
Это вы включили порт C на ВХОД
- DJ_Kiridza
- Мучитель микросхем
- Сообщения: 458
- Зарегистрирован: Пн дек 13, 2010 13:01:59
- Откуда: Украина
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Тфуттыблин!!!.... от я торможу... 10 раз читал про это в даташите, но как-грицоо - смотрю в книгу, а вижу не так уж и много... пасиб что носом ткнули 
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
Re: Мелкие практические вопросы
IvanM писал(а):Народ! Помогите с таймером1 в AT90S2313. Нужно его настроить на срабатывание по совпадению. Уже 3 книги перешерстил. А он никак не хочет срабатывать более одного раза. Обрабатываю прерывание TIM_COMP1. Работаю в АВР Студио 4.
Даю на суд код. Повыкидал все лишнее - оставил только суть. Задержку на срабатывание поставил чуть больше 5000 мкс. Ловлю срабатывание по регистру r19 названном - fp. Inc получается только один раз.
Простынь из кода в файле(отредактировал 21.02.11 в 8:49)
Отвечу сам на свой вопрос. При выходе из обработчика прерывания надо писать RETI !!! (а не ret). Оказывается - разные савсем комманды.
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие практические вопросы
IvanM писал(а):Отвечу сам на свой вопрос. При выходе из обработчика прерывания надо писать RETI !!! (а не ret). Оказывается - разные савсем комманды.
Не совсем. Можно вручную разрешать прерывания и выходить через ret.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
Ребята, зачем на этой схеме с тини
на AVCC , VCC и VCC к sd MMC по одному кондеру на 100 нанофарад?.. Если они ж вроде как параллельны стоят получается да еще и параллельны питанию с 100 микрофарадами?,
ЗАЧЕМ? можно я их вообще не поставлю, или все взорвется?
на AVCC , VCC и VCC к sd MMC по одному кондеру на 100 нанофарад?.. Если они ж вроде как параллельны стоят получается да еще и параллельны питанию с 100 микрофарадами?,
ЗАЧЕМ? можно я их вообще не поставлю, или все взорвется?
- Вложения
-
- sdsg.png
- схема
- (6.73 КБ) 376 скачиваний
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
124bit писал(а):ЗАЧЕМ? можно я их вообще не поставлю, или все взорвется?
Для лучшей фильтрации напряжения. Можете не ставить, ничего не взорвётся.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
Можете не ставить, ничего не взорвётся.
Да? А если на флешке коды запуска межконтинентальных ракет, а МК - командный пункт?
Re: Мелкие вопросы по МК и ПЛИС.
помогите прошить мк с помощью CVAvr
у меня есть мк atmega8535-16pu, распаял его на 5 контактов к lpt порту.
есть код написанный на С, для atmega16.
вопросы
что нужно переиначить в коде, чтобы записать его на мой мк? (они вроде совместимы),
программатор нужно выбрать: settings => Programmer => Kanda sistems stk200+/300, lpt1:378h ? (верно?)
почему при загрузке файла с расширением *.с мне недоступны вкладки в project ???
как это исправить. помогите, это первый мк, дальше вопросов будит меньше
код простой, для миди контроллера на 2-е крутилки. я так понимаю что нужно просто заменить
на
у меня есть мк atmega8535-16pu, распаял его на 5 контактов к lpt порту.
есть код написанный на С, для atmega16.
вопросы
что нужно переиначить в коде, чтобы записать его на мой мк? (они вроде совместимы),
программатор нужно выбрать: settings => Programmer => Kanda sistems stk200+/300, lpt1:378h ? (верно?)
почему при загрузке файла с расширением *.с мне недоступны вкладки в project ???
как это исправить. помогите, это первый мк, дальше вопросов будит меньше
код простой, для миди контроллера на 2-е крутилки. я так понимаю что нужно просто заменить
Код: Выделить всё
Chip type : ATmega16
Program type : Application
Clock frequency : 1,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
на
Код: Выделить всё
Chip type : ATmega8535
Program type : Application
Clock frequency : 1,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega8535.h>
// Standard Input/Output functions
#include <stdio.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x20
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
ploop писал(а):Да? А если на флешке коды запуска межконтинентальных ракет, а МК - командный пункт?
Ну, там же написано: всего лишь Voice PCM Sound Generator.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Оффтопик
Хана командному пункту!
ploop писал(а):Да? А если на флешке коды запуска межконтинентальных ракет, а МК - командный пункт?
Хана командному пункту!
- Грендайзер
- Мучитель микросхем
- Сообщения: 479
- Зарегистрирован: Вт июн 02, 2009 22:38:40
- Откуда: Город-герой Москва
Re: Мелкие вопросы по МК и ПЛИС.
Здрасте всем, кого не видел
Есть желание поуправлять амплифаером по шине SPI при помощи ПЛИС, но вот программист из меня, как хомяк из кошки
посему не могу дописать программу. Придумал только часть, но вот в момент передачи данных по последовательной шине нужно послать (по отдельному проводу) стробирующий импульс (точнее подать 0) и завершить его (ьтобиш выставить 1) в момент окончания передачи битов данных. Может кто поможет дописать программку
Буду очень признателен.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity Amplifier is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC);
end Amplifier;
architecture Behavioral of Amplifier is
signal i2 : integer range 0 to 7 :=0;
signal tx : std_logic := '0';
signal clk2 : std_logic := '0';
signal d : std_logic_vector (7 downto 0);
shared
variable n : integer range 0 to 8 :=0;
begin
with i2 select --для деления исходного тактового
clk2 <= '1' when 4, --сигнала (50МГц) в m раз
'0' when 0,
clk2 when others;
shared
variable n : integer range 0 to 8 :=0;
begin
d <= "01010111";
count_10MHz:process (clk)
begin
if clk'event and clk = '1' then --делю исходный тактовый сигнал
if i2 = 7 then --(50МГц) в m раз
i2 <= 0; --
else --
i2 <= i2 + 1; --
end if; --
end if; --
end process count_10MHz; --
process(reset, clk2) --преобразую параллельную шину
begin --d <= "01010111" в
if reset = '0' then --последовательную
i <= 0;
tx <= '0';
n := 0;
elsif clk2'event and clk2 = '1' then
if n = 0 then
n := 7;
else
n := n - 1;
end if;
end process transmission;
tx <= d(n); --присвыивая отдельные биты числа
--d сигналу tx
end Behavioral;
т.е. в момент когда n=7 (т.е. на последовательную шину выводится старший бит данных) необходимо вывести отдельным сигналом стробирующий импульс (а лучше с опережением на 30 нс).А в момент, когда n=0 (на шине младший бит данных) необходимо перевести импульс в лог. 1, и что б эта линия из единицы уже не выходила, т.е. ввсести её в какой нить цыкл. Никак не могу в голове мысли в кучку собрать
Заранее спасибо 
ИЛИ может кто подскажет, как реализовать протокол SPI на VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity Amplifier is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC);
end Amplifier;
architecture Behavioral of Amplifier is
signal i2 : integer range 0 to 7 :=0;
signal tx : std_logic := '0';
signal clk2 : std_logic := '0';
signal d : std_logic_vector (7 downto 0);
shared
variable n : integer range 0 to 8 :=0;
begin
with i2 select --для деления исходного тактового
clk2 <= '1' when 4, --сигнала (50МГц) в m раз
'0' when 0,
clk2 when others;
shared
variable n : integer range 0 to 8 :=0;
begin
d <= "01010111";
count_10MHz:process (clk)
begin
if clk'event and clk = '1' then --делю исходный тактовый сигнал
if i2 = 7 then --(50МГц) в m раз
i2 <= 0; --
else --
i2 <= i2 + 1; --
end if; --
end if; --
end process count_10MHz; --
process(reset, clk2) --преобразую параллельную шину
begin --d <= "01010111" в
if reset = '0' then --последовательную
i <= 0;
tx <= '0';
n := 0;
elsif clk2'event and clk2 = '1' then
if n = 0 then
n := 7;
else
n := n - 1;
end if;
end process transmission;
tx <= d(n); --присвыивая отдельные биты числа
--d сигналу tx
end Behavioral;
т.е. в момент когда n=7 (т.е. на последовательную шину выводится старший бит данных) необходимо вывести отдельным сигналом стробирующий импульс (а лучше с опережением на 30 нс).А в момент, когда n=0 (на шине младший бит данных) необходимо перевести импульс в лог. 1, и что б эта линия из единицы уже не выходила, т.е. ввсести её в какой нить цыкл. Никак не могу в голове мысли в кучку собрать
ИЛИ может кто подскажет, как реализовать протокол SPI на VHDL