|
Microblaze InstancePtr |
|
|
|
 |
Ответов
|
May 24 2007, 12:40
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата почему в функцию Код #define SLAVE_STARTING_ADDRESS 0x00 // set the starting slave address XSpi_Initialize(&MY_Spi, SLAVE_STARTING_ADDRESS); вы передаете адрес, когда по документации там должен идти DeviceId. Конечно в нашем случае они оба равны 0, но хотелось бы прояснить ситуацию. Чесно говоря, я и имел DeviceID в виду, возможно это не самый лучший выбор для названия константов. Наверно так получилось из за cut and paste  . Если это был бы реальный проект, скорее всего где нубудь в header-е я бы имел таблицу возможных slaves, их названия и соответствущию нумерацию. Цитата И еще мне не совсем понятно почему маски в xspi_l.h и xspi.h указывающие на один и тот же бит (например в регистре статуса) имеют разные значения в 2х хедерах. С I2C то же самое. В чем секрет? Umm... Не врубаюсь. Может я че то не понял, но в xspi.h нету bitewise definitions... Вроде в этом весь смысл, xspi.h должна Вас изолировать от такой информации. Приведите пример от обеих файлов плз. Нащет I2C, вроде все правельно... Не помню точно все расстановки, может что-то не выставлено, но architecture - ОК. Сравню с работущим, выставлю сюда. Единственное - помойму я всегда пользовался external pull-up, а не внутринними. Но это не должно играть роль... В UCF у Вас все правельно обозначено????
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
May 24 2007, 13:51
|

Местный
  
Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991

|
Цитата(CodeWarrior1241 @ May 24 2007, 15:40)  Чесно говоря, я и имел DeviceID в виду, возможно это не самый лучший выбор для названия константов. Наверно так получилось из за cut and paste  . Если это был бы реальный проект, скорее всего где нубудь в header-е я бы имел таблицу возможных slaves, их названия и соответствущию нумерацию. Umm... Не врубаюсь. Может я че то не понял, но в xspi.h нету bitewise definitions... Вроде в этом весь смысл, xspi.h должна Вас изолировать от такой информации. Приведите пример от обеих файлов плз. Нащет I2C, вроде все правельно... Не помню точно все расстановки, может что-то не выставлено, но architecture - ОК. Сравню с работущим, выставлю сюда. Единственное - помойму я всегда пользовался external pull-up, а не внутринними. Но это не должно играть роль... В UCF у Вас все правельно обозначено???? Да в юсф все нормально. Смотрите: Код xspi.h
[b]#define XSP_MASTER_OPTION 0x1 #define XSP_CLK_ACTIVE_LOW_OPTION 0x2[/b] #define XSP_CLK_PHASE_1_OPTION 0x4 #define XSP_LOOPBACK_OPTION 0x8 #define XSP_MANUAL_SSELECT_OPTION 0x10
XSpi_SetOptions(&MY_Spi,(XSP_MASTER_OPTION | XSP_MANUAL_SSELECT_OPTION));
xspi_l.h
#define XSP_CR_LOOPBACK_MASK 0x1 /* Local loopback mode */ #define XSP_CR_ENABLE_MASK 0x2 /* System enable */ [b]#define XSP_CR_MASTER_MODE_MASK 0x4 /* Enable master mode */[/b] [b]#define XSP_CR_CLK_POLARITY_MASK 0x8 /* Clock polarity high or low */[/b] #define XSP_CR_CLK_PHASE_MASK 0x10 /* Clock phase 0 or 1 */ #define XSP_CR_TXFIFO_RESET_MASK 0x20 /* Reset transmit FIFO */ #define XSP_CR_RXFIFO_RESET_MASK 0x40 /* Reset receive FIFO */ #define XSP_CR_MANUAL_SS_MASK 0x80 /* Manual slave select assertion */ #define XSP_CR_TRANS_INHIBIT_MASK 0x100 /* Master transaction inhibit */
XSpi_mSetControlReg(XPAR_OPB_SPI_0_BASEADDR, (XSP_CR_ENABLE_MASK | XSP_CR_MASTER_MODE_MASK)); Вот пример дефайнов из соответсвующих файлов и получается что для XSpi_SetOptions я ОБЯЗАТЕЛЬНО должен брать дефайны из xspi.h, a для XSpi_mSetControlReg из xspi_l.h. На что я пару раз а напоролся  Почему нельзя было сделать дефайны общими??
Сообщение отредактировал -=Vitaly=- - May 24 2007, 13:54
|
|
|
|
Сообщений в этой теме
-=Vitaly=- Microblaze InstancePtr May 17 2007, 03:59 -=Vitaly=- Здравствуйте, где для Микроблейзового софта взять ... May 17 2007, 11:18 CodeWarrior1241 Цитата(-=Vitaly=- @ May 17 2007, 07... May 17 2007, 12:22  -=Vitaly=- Спасибо.
Я хочу банально вручную выставлять SS си... May 17 2007, 12:41 CodeWarrior1241 Вы пользуетесь low-level function XSpi_mSetControl... May 17 2007, 16:13 -=Vitaly=- Цитата(CodeWarrior1241 @ May 17 2007, 19... May 18 2007, 05:43 CodeWarrior1241 Так зделайте его глобальным и все! Веди это же... May 18 2007, 09:00 -=Vitaly=- Цитата(CodeWarrior1241 @ May 18 2007, 12... May 18 2007, 09:34  CodeWarrior1241 Я возможно перестал понимать суть вопроса... point... May 18 2007, 11:38   -=Vitaly=- Хе, хе бой продолжается. Перестало компилиться нах... May 21 2007, 07:54  XVR Цитата(-=Vitaly=- @ May 18 2007, 13... May 21 2007, 09:22   -=Vitaly=- Цитата(XVR @ May 21 2007, 12:22) С этого ... May 21 2007, 12:57    XVR Цитата(-=Vitaly=- @ May 21 2007, 16... May 22 2007, 07:30     -=Vitaly=- Спасибо, но у меня при включении xspi_i.h отказыва... May 22 2007, 11:21      -=Vitaly=- Пока сделал так, проверил работает, правда приходи... May 22 2007, 14:32     CodeWarrior1241 Цитата(XVR @ May 22 2007, 03:30) Что каса... May 22 2007, 12:34   CodeWarrior1241 ЦитатаУ Вас направильно определен этот самый Insta... May 21 2007, 12:59 CodeWarrior1241 2 -=Vitaly=-:
Я попробовал зделать EDK8.2 проект и... May 23 2007, 05:56 -=Vitaly=- Цитата(CodeWarrior1241 @ May 23 2007, 08... May 23 2007, 09:09  -=Vitaly=- Работает так как сказал CodeWarrior, но я не инклу... May 23 2007, 13:20   CodeWarrior1241 Цитата(-=Vitaly=- @ May 23 2007, 09... May 23 2007, 14:10    -=Vitaly=- Подскажите есть ли стандартная функция в EDK типа ... May 24 2007, 09:52     CodeWarrior1241 Цитата(-=Vitaly=- @ May 24 2007, 05... May 25 2007, 12:07      -=Vitaly=- Ау Jun 7 2007, 11:33       CodeWarrior1241 Цитата(-=Vitaly=- @ Jun 7 2007, 07... Jun 7 2007, 14:55
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|