SPI режим, 8 бит.
Пытаюсь записать в FRAM opcode "Set Write Enable Latch" т.е. нужно
CS=0, запись opcode,CS=1
на осцилле вижу такую картину
Код
_ _ _ _ _ _ _ _
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
SCK_____| |__| |__| |__| |__| |__| |__| |__| |__
CS ______________________
| |
| |
|______________________|
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
SCK_____| |__| |__| |__| |__| |__| |__| |__| |__
CS ______________________
| |
| |
|______________________|
запись opcoda выглядит так:
Код
// окончание по флагу BSY
SPI12138->SSPDR = opcode;
while (SPI12138->SSPSR & 0x40){};
или
// окончание по флагу TFE
SPI12138->SSPDR = opcode;
while (!(SPI12138->SSPSR & 1)){};
SPI12138->SSPDR = opcode;
while (SPI12138->SSPSR & 0x40){};
или
// окончание по флагу TFE
SPI12138->SSPDR = opcode;
while (!(SPI12138->SSPSR & 1)){};
в итоге по любому флагу вижу одинаковую картинку на осциле.
т.е. не могу поймать конец передачи фрейма SPI.
в чем проблема?
я дурак.
бит BSY(4) есть 0x10, а не 0x40. все работает. ложная тревога, извиняюсь. спать пора
