реклама на сайте
подробности

 
 
> SSP 1986ВЕ92У
woofer46
сообщение Apr 1 2016, 16:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 3-06-15
Пользователь №: 86 990



Добрый день!
Может кому-то приходилось работать с российским контроллером ARM Cortex M3, не могу разобраться почему SSP (SPI Texas Instruments) в режиме slave, нестабильно работает.

Передаю данные с частотой 1.5 Мбит, но некоторые данные стабильно теряются, в чем может быть ошибка?
Код
void main()
{
.......................................................
    MDR_RST_CLK->PER_CLOCK|=(1<<20)|(1<<23)|(1<<24);
    MDR_PORTD->ANALOG|=(1<<2)|(1<<6);              
    MDR_PORTD->FUNC=0x2020;                                        
    MDR_PORTD->PWR|=0x3030;                           
    MDR_PORTD->OE|=(1<<6);                          
    // PS! PD5 is broken! Not work!
    MDR_PORTC->ANALOG|=1|(1<<1);                    
    MDR_PORTC->FUNC=0x0F;                    
    MDR_PORTC->PWR|=0x0F;                              
    MDR_RST_CLK->SSP_CLOCK|=(1<<25);                 // Enable SSP2
           MDR_SSP2->CR0=15|(1<<4);                        
    MDR_SSP2->CR1|=1<<2;                                 // Slave
    MDR_SSP2->CR1|=1<<1;                                 // Start SSP2
...................................................................
}


Код
    while (1)
    {
...............
    while((MDR_SSP2->SR&4)==0);
    tx=MDR_SSP2->DR;
    while((MDR_UART1->FR&64)!=0);
    MDR_UART1->DR=tx;
...............
         }


В SSP передаю счетчик от 0 до 63, на выходе UART получаю со сбоями:

CODE
0
1
2
3
4
5
6
7
8
9
10
11
12
13
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
1
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
1
2
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
1
2
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
1
2
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
1
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
1
2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
37
38
39
40
41
42
43
44
45
46
47

Спасибо!

Сообщение отредактировал IgorKossak - Apr 1 2016, 17:43
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 11:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016