Здравствуйте!
Потребовалось загрузить в последовательный сдвиговый регистр PLL синтезатора MC145158 некоторые данные, загружать решил при помощи микроконтроллера attiny2313, написал для этого в CodeVision AVR следующую программу:
Код
#include<tiny2313.h>
#include<delay.h>
#define CLK PORTB.0
#define DATA PORTB.1
#define ENB PORTB.2
#define led PORTD.5
#define wait delay_us(500);
void send(unsigned int data,unsigned int length)
{
int i,j;
for(i=length;i!=0;i--)
{
if((data & (1<<i))!=0)
{
DATA=1;
}
else
{
DATA=0;
}
CLK=1;
wait
CLK=0;
wait
} }
void main(void)
{
DDRB=0b00000111;
DDRD.5=1;
send(0b10001110110110,14);
send(0b0001000000,10);
send(0b00100000,8);
wait
ENB=1; //включаем защелку, передаем данные в счетчики
delay_ms(10);
ENB=0;
led=1;
while(1);
}
Вроде бы все правильно, код работает, но загружает в регистр что-то не то, на ножке fR PLL синтезатора должен появиться сигнал с частотой 1.5625 кГц, но его нет
В чем может быть проблема?
Сообщение отредактировал #Eugene - Jun 14 2010, 20:57