|
|
  |
SSP, не заносятся данные в регистр данных |
|
|
|
Jan 5 2011, 10:38
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
Здравствуйте,
у меня вот такая проблема в симулятор (мк lpc2148), использую SSP, пишу в регистр данных (SSPDR) данные 16 бит, вроде все нормально, флаг TFE = 0, BSY = 1, но в регистре все равно нули, в чем может быть проблема? или так и должно быть (возможно с регистра данных данные автоматически переносятся в сдвиговых регистр и в симуляторе этого не видно) ?
Спасибо!
|
|
|
|
|
Jan 5 2011, 11:08
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
В каком смысле разные регистры? Он же один? на сколько я понимаю. если он пустой и я туда заношу данные, то SPI сразу начанает передачу и поэтому я вижу нули, или не так? Спасибо
|
|
|
|
|
Jan 5 2011, 15:22
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
Ну это понятно что 2 фифо буфера, но программа все равно к одному обращается - SSPDR
|
|
|
|
|
Jan 5 2011, 16:04
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
При записи в этот регистр, данные поступают в Т буфер, когда считывает, то данные считываются с R буфера
|
|
|
|
|
Jan 25 2011, 09:26
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
Подскажите, пожалуйста, что я не так делаю, немогу понять Код int main(void) { int i;
PINSEL1 |= 0x02A8; //select SSEL, MISO, MOSI, SCK IO0DIR |= (1 << 20); //SSEl as output SSPCR0 = 0x0D; //14 bit SSPCPSR = 0xFA; //speed = 32kHz SSPCR1 |= (1 << 1); //SSP enable for(;;) { SSPDR = 0x16C8; while (!(SSPSR & (1 << 0))); for(i = 0; i < 100000; i++); } } Почему в дебаггере в SSPDR всегда 0х3FF, тоесть все "1" после команды SSPDR = 0x16C8 И работает не так как надо...
|
|
|
|
|
Jan 25 2011, 15:58
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
Я так и не понял те ответы, но работает уже правильно
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|