Задача проста как помидор нужно написать программный SPI. Собственно говоря посмотрел вчера внимательно дизасемблированный код.
Для первого варианта:
SER R24
Out 0x1A,R24
out 0x1B,R1
SBI 0x1B,2
CBI 0x1B,2
SBI 0x1B,0
RJMP PC-3
тут всё работает как нужно видны импульсы практически меандр Tполки=2uS ...
Найдено 4 результата
- Ср апр 11, 2018 10:50:05
- Форум: AVR
- Тема: Программирование ATmega 128
- Ответы: 7
- Просмотры: 2089
- Вт апр 10, 2018 13:36:08
- Форум: AVR
- Тема: Программирование ATmega 128
- Ответы: 7
- Просмотры: 2089
Re: Программирование ATmega 128
Я с программатором всё правильно делаю. Это уже неоднократно проверялось. А глюки при залипании функции всё равно остаются. Например вот такой код не будет работать:
#define CS_ASM_Arg0 "sbi 0x1B,2"
#define CS_ASM_Arg1 "cbi 0x1B,2"
//----------
#include <avr/io.h>
//----------
void Proba()
{
asm ...
#define CS_ASM_Arg0 "sbi 0x1B,2"
#define CS_ASM_Arg1 "cbi 0x1B,2"
//----------
#include <avr/io.h>
//----------
void Proba()
{
asm ...
- Ср фев 28, 2018 10:48:41
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1463046
Re: Вопросы по С/С++ (СИ)
Товарищи добрый день. имеется МК ATmega 128 написал для него простенькую прогу для теста. Сразу же и приведу:
0x15 - адрес PORTC, 0x1B - адрес PORTA по отладчику все в порядке, а когда смотрю осциллографом то выполняется только функция Drrb()! В чём проблема?
/*
* DC_Voltmetr_Prog.cpp
*
* Created ...
0x15 - адрес PORTC, 0x1B - адрес PORTA по отладчику все в порядке, а когда смотрю осциллографом то выполняется только функция Drrb()! В чём проблема?
/*
* DC_Voltmetr_Prog.cpp
*
* Created ...
- Ср фев 28, 2018 10:40:10
- Форум: AVR
- Тема: Программирование ATmega 128
- Ответы: 7
- Просмотры: 2089
Программирование ATmega 128
Уважаемые форумчане есть следующий код для МК ATmega 128:
/*
* DC_Voltmetr_Prog.cpp
*
* Created: 28.02.2018 11:19:19
* Author : LAN_Admin
*/
#include <avr/io.h>
void Prb()
{
asm("sbi 0x1B,2");
asm("nop");
asm("cbi 0x1B,2");
asm("nop");
};
void Drrb()
{
asm("sbi 0x15,0");
asm("nop ...
/*
* DC_Voltmetr_Prog.cpp
*
* Created: 28.02.2018 11:19:19
* Author : LAN_Admin
*/
#include <avr/io.h>
void Prb()
{
asm("sbi 0x1B,2");
asm("nop");
asm("cbi 0x1B,2");
asm("nop");
};
void Drrb()
{
asm("sbi 0x15,0");
asm("nop ...