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

 
 
> STM32F0 Время реакции и выполнения прерывания
Влад Р.
сообщение Jun 21 2016, 12:40
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 87
Регистрация: 9-12-10
Пользователь №: 61 511



Добрый день!

Имеется МК STM32F0. Работает на частоте 48 МГц. Фоновая программа представляет собой пустой бесконечный цикл. По фронту сигнала на выводе МК настроено внешнее прерывание. В обработчике прерывания только операции с портами ввода/вывода и логические операции. Все задействованные выводы сконфигурированы на работу на максимальной скорости.
Согласно статье "A Beginner’s Guide on Interrupt Latency - and Interrupt Latency of the ARM® Cortex®-M processors" время реакции на прерывание для ядра Cortex-M0 составляет 16 машинных циклов. Первой командой после входа в обработчик я считываю один из портов в/в, затем на одном из выводов другого порта устанавливаю высокий уровень. Время между фронтом внешнего сигнала, вызвавшим внешнее прерывание, и установкой высокого уровня на выводе, указанном выше, составляет 800 нс. Почему такое большое время и как можно его сократить?
В той же статье говорится о джиттере времени реакции, но неясно от каких факторов он может зависеть?
Время выполнения обработчика прерывания составило 1,5 мкс, что тоже неожиданно много. Также буду рад советам как уменьшить.

Используется Keil 5.17. Пробовал различные уровни оптимизации компилируемого кода, оптимизацию по времени/объему. Не давало положительных результатов. Размещение обработчика прерывания в ОЗУ позволило сократить время его выполнения на 0,2 мкс, но не повлияло на время реакции на прерывание.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Влад Р.
сообщение Jun 21 2016, 19:39
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 87
Регистрация: 9-12-10
Пользователь №: 61 511



Цитата(scifi @ Jun 21 2016, 16:05) *
Кроме того, если используете всякие кубы, халы и прочие библиотеки в обработчике прерывания, будут ещё тормоза от избыточного кода.

Библиотеки, кроме ASM-файла инициализации и CMSIS не использую. Код самописный.

Цитата(jcxz @ Jun 21 2016, 16:14) *
Покажите ассемблерный листинг ISR.
Время реакции состоит из:
ожидание завершения очередной команды + сохранение контекста и вход в ISR (видимо эти 16 тактов) + предвыборка кода начала обработчика (уменьшить можно разместив ISR в ОЗУ, посмотрев на матрицу шин; или включив кеш если есть) + PUSH при входе в ISR (листинг?)

Что подразумевается под сохранением контекста? Я думал, это и есть стэкирование РОН (PUSH) и, что оно включено в те самые 16 тактов.
На сколько я знаю, кэша в этих МК нет. Может ли влиять Prefetch Buffer (сейчас включен)?
Вот листинг на Си:
CODE
void EXTI4_15_IRQHandler(void)
{
uint16_t db = GPIOC->IDR & 0x1FFF;
uint8_t data = db;

if (!(db & (0x01 << 12))) {
switch (db & (0x03 << 9)) {
case 0x0000:
GPIOA->ODR = (GPIOA->ODR & ~0xFF) | data;
break;
case 0x0200:
GPIOB->ODR = (GPIOB->ODR & ~(0x03 << 5)) | (data & (0x03 << 5));
break;
case 0x0400:
GPIOA->ODR = (GPIOA->ODR & ~(0x0F << 8)) | ((uint16_t)HINIBBLE(data) << 8);
GPIOB->ODR = (GPIOB->ODR & ~(0x0F << 8)) | ((uint16_t)LONIBBLE(data) << 8);
break;
case 0x0600:
if (db & (0x01 << 4))
GPIOA->MODER &= ~(GPIO_MODER_MODER0 | GPIO_MODER_MODER1 | GPIO_MODER_MODER2 | GPIO_MODER_MODER3 |
GPIO_MODER_MODER4 | GPIO_MODER_MODER5 | GPIO_MODER_MODER6 | GPIO_MODER_MODER7);
else
GPIOA->MODER |= GPIO_MODER_MODER0_0 | GPIO_MODER_MODER1_0 | GPIO_MODER_MODER2_0 | GPIO_MODER_MODER3_0 |
GPIO_MODER_MODER4_0 | GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0 | GPIO_MODER_MODER7_0;
if (db & (0x01 << 3))
GPIOA->MODER &= ~(GPIO_MODER_MODER8 | GPIO_MODER_MODER9 | GPIO_MODER_MODER10 | GPIO_MODER_MODER11);
else
GPIOA->MODER |= GPIO_MODER_MODER8_0 | GPIO_MODER_MODER9_0 | GPIO_MODER_MODER10_0 | GPIO_MODER_MODER11_0;
if (db & (0x01 << 1))
GPIOB->MODER &= ~(GPIO_MODER_MODER5 | GPIO_MODER_MODER6);
else
GPIOB->MODER |= GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0;
if (db & 0x01)
GPIOB->MODER &= ~(GPIO_MODER_MODER8 | GPIO_MODER_MODER9 | GPIO_MODER_MODER10 | GPIO_MODER_MODER11);
else
GPIOB->MODER |= GPIO_MODER_MODER8_0 | GPIO_MODER_MODER9_0 | GPIO_MODER_MODER10_0 | GPIO_MODER_MODER11;
break;
}
}
EXTI->PR = EXTI_PR_PR8;
}


Вот дизассемблер:
CODE
61: {
0x08000240 B430 PUSH {r4-r5}
62: uint16_t db = GPIOC->IDR & 0x1FFF;
0x08000242 4831 LDR r0,[pc,#196] ; @0x08000308
0x08000244 8A00 LDRH r0,[r0,#0x10]
0x08000246 04C0 LSLS r0,r0,#19
0x08000248 0CC0 LSRS r0,r0,#19
63: uint8_t data = db;
64:
0x0800024A B2C1 UXTB r1,r0
65: if (!(db & (0x01 << 12))) {
0x0800024C 04C2 LSLS r2,r0,#19
61: {
62: uint16_t db = GPIOC->IDR & 0x1FFF;
63: uint8_t data = db;
64:
65: if (!(db & (0x01 << 12))) {
0x0800024E D455 BMI 0x080002FC
66: switch (db & (0x03 << 9)) {
67: case 0x0000:
0x08000250 2203 MOVS r2,#0x03
0x08000252 0252 LSLS r2,r2,#9
68: GPIOA->ODR = (GPIOA->ODR & ~0xFF) | data;
69: break;
70: case 0x0200:
0x08000254 4B2D LDR r3,[pc,#180] ; @0x0800030C
0x08000256 4002 ANDS r2,r2,r0
0x08000258 D00D BEQ 0x08000276
71: GPIOB->ODR = (GPIOB->ODR & ~(0x03 << 5)) | (data & (0x03 << 5));
0x0800025A 3AFF SUBS r2,r2,#0xFF
0x0800025C 4C2C LDR r4,[pc,#176] ; @0x08000310
0x0800025E 3AFF SUBS r2,r2,#0xFF
0x08000260 1E92 SUBS r2,r2,#2
0x08000262 D00E BEQ 0x08000282
0x08000264 3AFF SUBS r2,r2,#0xFF
0x08000266 3AFF SUBS r2,r2,#0xFF
0x08000268 1E92 SUBS r2,r2,#2
0x0800026A D011 BEQ 0x08000290
0x0800026C 3AFF SUBS r2,r2,#0xFF
0x0800026E 3AFF SUBS r2,r2,#0xFF
0x08000270 2A02 CMP r2,#0x02
0x08000272 D143 BNE 0x080002FC
0x08000274 E01B B 0x080002AE
0x08000276 8A98 LDRH r0,[r3,#0x14]
0x08000278 0A00 LSRS r0,r0,#8
0x0800027A 0200 LSLS r0,r0,#8
0x0800027C 4308 ORRS r0,r0,r1
0x0800027E 8298 STRH r0,[r3,#0x14]
69: break;
70: case 0x0200:
71: GPIOB->ODR = (GPIOB->ODR & ~(0x03 << 5)) | (data & (0x03 << 5));
0x08000280 E03C B 0x080002FC
0x08000282 8AA0 LDRH r0,[r4,#0x14]
0x08000284 2260 MOVS r2,#0x60
0x08000286 4390 BICS r0,r0,r2
0x08000288 4011 ANDS r1,r1,r2
0x0800028A 4308 ORRS r0,r0,r1
0x0800028C 82A0 STRH r0,[r4,#0x14]
72: break;
73: case 0x0400:
0x0800028E E035 B 0x080002FC
74: GPIOA->ODR = (GPIOA->ODR & ~(0x0F << 8)) | ((uint16_t)HINIBBLE(data) << 8);
0x08000290 8A9A LDRH r2,[r3,#0x14]
0x08000292 200F MOVS r0,#0x0F
0x08000294 0200 LSLS r0,r0,#8
0x08000296 090D LSRS r5,r1,#4
0x08000298 4382 BICS r2,r2,r0
0x0800029A 022D LSLS r5,r5,#8
0x0800029C 432A ORRS r2,r2,r5
0x0800029E 829A STRH r2,[r3,#0x14]
75: GPIOB->ODR = (GPIOB->ODR & ~(0x0F << 8)) | ((uint16_t)LONIBBLE(data) << 8);
0x080002A0 8AA2 LDRH r2,[r4,#0x14]
0x080002A2 4382 BICS r2,r2,r0
0x080002A4 0708 LSLS r0,r1,#28
0x080002A6 0D00 LSRS r0,r0,#20
0x080002A8 4302 ORRS r2,r2,r0
0x080002AA 82A2 STRH r2,[r4,#0x14]
76: break;
77: case 0x0600:
0x080002AC E026 B 0x080002FC
78: if (db & (0x01 << 4))
79: GPIOA->MODER &= ~(GPIO_MODER_MODER0 | GPIO_MODER_MODER1 | GPIO_MODER_MODER2 | GPIO_MODER_MODER3 |
80: GPIO_MODER_MODER4 | GPIO_MODER_MODER5 | GPIO_MODER_MODER6 | GPIO_MODER_MODER7);
81: else
0x080002AE 06C1 LSLS r1,r0,#27
82: GPIOA->MODER |= GPIO_MODER_MODER0_0 | GPIO_MODER_MODER1_0 | GPIO_MODER_MODER2_0 | GPIO_MODER_MODER3_0 |
83: GPIO_MODER_MODER4_0 | GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0 | GPIO_MODER_MODER7_0;
0x080002B0 6819 LDR r1,[r3,#0x00]
0x080002B2 D502 BPL 0x080002BA
79: GPIOA->MODER &= ~(GPIO_MODER_MODER0 | GPIO_MODER_MODER1 | GPIO_MODER_MODER2 | GPIO_MODER_MODER3 |
80: GPIO_MODER_MODER4 | GPIO_MODER_MODER5 | GPIO_MODER_MODER6 | GPIO_MODER_MODER7);
81: else
82: GPIOA->MODER |= GPIO_MODER_MODER0_0 | GPIO_MODER_MODER1_0 | GPIO_MODER_MODER2_0 | GPIO_MODER_MODER3_0 |
83: GPIO_MODER_MODER4_0 | GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0 | GPIO_MODER_MODER7_0;
0x080002B4 0C09 LSRS r1,r1,#16
0x080002B6 0409 LSLS r1,r1,#16
0x080002B8 E001 B 0x080002BE
0x080002BA 4A16 LDR r2,[pc,#88] ; @0x08000314
0x080002BC 4311 ORRS r1,r1,r2
0x080002BE 6019 STR r1,[r3,#0x00]
84: if (db & (0x01 << 3))
0x080002C0 0702 LSLS r2,r0,#28
85: GPIOA->MODER &= ~(GPIO_MODER_MODER8 | GPIO_MODER_MODER9 | GPIO_MODER_MODER10 | GPIO_MODER_MODER11);
86: else
0x080002C2 4915 LDR r1,[pc,#84] ; @0x08000318
87: GPIOA->MODER |= GPIO_MODER_MODER8_0 | GPIO_MODER_MODER9_0 | GPIO_MODER_MODER10_0 | GPIO_MODER_MODER11_0;
0x080002C4 681A LDR r2,[r3,#0x00]
0x080002C6 D501 BPL 0x080002CC
0x080002C8 438A BICS r2,r2,r1
0x080002CA E002 B 0x080002D2
0x080002CC 2555 MOVS r5,#0x55
0x080002CE 042D LSLS r5,r5,#16
0x080002D0 432A ORRS r2,r2,r5
0x080002D2 601A STR r2,[r3,#0x00]
88: if (db & (0x01 << 1))
89: GPIOB->MODER &= ~(GPIO_MODER_MODER5 | GPIO_MODER_MODER6);
90: else
0x080002D4 0782 LSLS r2,r0,#30
91: GPIOB->MODER |= GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0;
0x080002D6 6822 LDR r2,[r4,#0x00]
0x080002D8 D503 BPL 0x080002E2
89: GPIOB->MODER &= ~(GPIO_MODER_MODER5 | GPIO_MODER_MODER6);
90: else
91: GPIOB->MODER |= GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0;
0x080002DA 230F MOVS r3,#0x0F
0x080002DC 029B LSLS r3,r3,#10
0x080002DE 439A BICS r2,r2,r3
0x080002E0 E002 B 0x080002E8
0x080002E2 2305 MOVS r3,#0x05
0x080002E4 029B LSLS r3,r3,#10
0x080002E6 431A ORRS r2,r2,r3
0x080002E8 6022 STR r2,[r4,#0x00]
92: if (db & 0x01)
93: GPIOB->MODER &= ~(GPIO_MODER_MODER8 | GPIO_MODER_MODER9 | GPIO_MODER_MODER10 | GPIO_MODER_MODER11);
94: else
0x080002EA 07C0 LSLS r0,r0,#31
95: GPIOB->MODER |= GPIO_MODER_MODER8_0 | GPIO_MODER_MODER9_0 | GPIO_MODER_MODER10_0 | GPIO_MODER_MODER11;
96: break;
97: }
98: }
0x080002EC 6820 LDR r0,[r4,#0x00]
0x080002EE D001 BEQ 0x080002F4
93: GPIOB->MODER &= ~(GPIO_MODER_MODER8 | GPIO_MODER_MODER9 | GPIO_MODER_MODER10 | GPIO_MODER_MODER11);
94: else
95: GPIOB->MODER |= GPIO_MODER_MODER8_0 | GPIO_MODER_MODER9_0 | GPIO_MODER_MODER10_0 | GPIO_MODER_MODER11;
96: break;
97: }
98: }
0x080002F0 4388 BICS r0,r0,r1
0x080002F2 E002 B 0x080002FA
0x080002F4 21D5 MOVS r1,#0xD5
0x080002F6 0409 LSLS r1,r1,#16
0x080002F8 4308 ORRS r0,r0,r1
0x080002FA 6020 STR r0,[r4,#0x00]
99: EXTI->PR = EXTI_PR_PR8;
0x080002FC 20FF MOVS r0,#0xFF
0x080002FE 4907 LDR r1,[pc,#28] ; @0x0800031C
0x08000300 3001 ADDS r0,r0,#0x01
0x08000302 6148 STR r0,[r1,#0x14]
100: }
0x08000304 BC30 POP {r4-r5}
0x08000306 4770 BX lr
0x08000308 0800 DCW 0x0800
0x0800030A 4800 DCW 0x4800
0x0800030C 0000 DCW 0x0000
0x0800030E 4800 DCW 0x4800
0x08000310 0400 DCW 0x0400
0x08000312 4800 DCW 0x4800
0x08000314 5555 DCW 0x5555
0x08000316 0000 DCW 0x0000
0x08000318 0000 DCW 0x0000
0x0800031A 00FF DCW 0x00FF
0x0800031C 0400 DCW 0x0400
0x0800031E 4001 DCW 0x4001


Цитата(jcxz @ Jun 21 2016, 16:57) *
Которая у автора наверное тоже во флешь находится. Можно её тож в ОЗУ перетащить.

Подтверждаю, сейчас вектора размещаются дефолтно, т.е. во флэше.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 22 2016, 05:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Влад Р. @ Jun 22 2016, 01:39) *
Что подразумевается под сохранением контекста? Я думал, это и есть стэкирование РОН (PUSH) и, что оно включено в те самые 16 тактов.
На сколько я знаю, кэша в этих МК нет. Может ли влиять Prefetch Buffer (сейчас включен)?

Именно оно и подразумевается.
Буфер предвыборки должен выбрать из памяти начало ISR перед их выполнением.

Ну а чего-ж Вы хотите??? У Вас от входа в ISR до установки пина такая куча команд выполняется:
CODE
0x08000240 B430 PUSH {r4-r5}
62: uint16_t db = GPIOC->IDR & 0x1FFF;
0x08000242 4831 LDR r0,[pc,#196] ; @0x08000308
0x08000244 8A00 LDRH r0,[r0,#0x10]
0x08000246 04C0 LSLS r0,r0,#19
0x08000248 0CC0 LSRS r0,r0,#19
63: uint8_t data = db;
64:
0x0800024A B2C1 UXTB r1,r0
65: if (!(db & (0x01 << 12))) {
0x0800024C 04C2 LSLS r2,r0,#19
61: {
62: uint16_t db = GPIOC->IDR & 0x1FFF;
63: uint8_t data = db;
64:
65: if (!(db & (0x01 << 12))) {
0x0800024E D455 BMI 0x080002FC
66: switch (db & (0x03 << 9)) {
67: case 0x0000:
0x08000250 2203 MOVS r2,#0x03
0x08000252 0252 LSLS r2,r2,#9
68: GPIOA->ODR = (GPIOA->ODR & ~0xFF) | data;
69: break;
70: case 0x0200:
0x08000254 4B2D LDR r3,[pc,#180] ; @0x0800030C
0x08000256 4002 ANDS r2,r2,r0
0x08000258 D00D BEQ 0x08000276
71: GPIOB->ODR = (GPIOB->ODR & ~(0x03 << 5)) | (data & (0x03 << 5));
0x0800025A 3AFF SUBS r2,r2,#0xFF
0x0800025C 4C2C LDR r4,[pc,#176] ; @0x08000310
0x0800025E 3AFF SUBS r2,r2,#0xFF
0x08000260 1E92 SUBS r2,r2,#2
0x08000262 D00E BEQ 0x08000282
0x08000264 3AFF SUBS r2,r2,#0xFF
0x08000266 3AFF SUBS r2,r2,#0xFF
0x08000268 1E92 SUBS r2,r2,#2
0x0800026A D011 BEQ 0x08000290
0x0800026C 3AFF SUBS r2,r2,#0xFF
0x0800026E 3AFF SUBS r2,r2,#0xFF
0x08000270 2A02 CMP r2,#0x02
0x08000272 D143 BNE 0x080002FC
0x08000274 E01B B 0x080002AE
...
0x080002AE 06C1 LSLS r1,r0,#27
82: GPIOA->MODER |= GPIO_MODER_MODER0_0 | GPIO_MODER_MODER1_0 | GPIO_MODER_MODER2_0 | GPIO_MODER_MODER3_0 |
83: GPIO_MODER_MODER4_0 | GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0 | GPIO_MODER_MODER7_0;
0x080002B0 6819 LDR r1,[r3,#0x00]
0x080002B2 D502 BPL 0x080002BA
79: GPIOA->MODER &= ~(GPIO_MODER_MODER0 | GPIO_MODER_MODER1 | GPIO_MODER_MODER2 | GPIO_MODER_MODER3 |
80: GPIO_MODER_MODER4 | GPIO_MODER_MODER5 | GPIO_MODER_MODER6 | GPIO_MODER_MODER7);
81: else
82: GPIOA->MODER |= GPIO_MODER_MODER0_0 | GPIO_MODER_MODER1_0 | GPIO_MODER_MODER2_0 | GPIO_MODER_MODER3_0 |
83: GPIO_MODER_MODER4_0 | GPIO_MODER_MODER5_0 | GPIO_MODER_MODER6_0 | GPIO_MODER_MODER7_0;
0x080002B4 0C09 LSRS r1,r1,#16
0x080002B6 0409 LSLS r1,r1,#16
0x080002B8 E001 B 0x080002BE
0x080002BA 4A16 LDR r2,[pc,#88] ; @0x08000314
0x080002BC 4311 ORRS r1,r1,r2
0x080002BE 6019 STR r1,[r3,#0x00]


Хотя-бы под отладчиком прошлись бы по командам и посмотрели сколько команд.
Если нужно такое время реакции - пишите на асм. Ну или аппаратно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Влад Р.   STM32F0 Время реакции и выполнения прерывания   Jun 21 2016, 12:40
- - scifi   Обращение к портам ввода-вывода тоже время должно ...   Jun 21 2016, 13:05
- - jcxz   Цитата(Влад Р. @ Jun 21 2016, 18:40) Врем...   Jun 21 2016, 13:14
- - SasaVitebsk   В статье указано, что 16 машинных циклов пройдёт о...   Jun 21 2016, 13:17
|- - dimka76   Цитата(SasaVitebsk @ Jun 21 2016, 16:17) ...   Jun 21 2016, 13:25
|- - jcxz   Цитата(SasaVitebsk @ Jun 21 2016, 19:17) ...   Jun 21 2016, 13:44
||- - SasaVitebsk   Цитата(jcxz @ Jun 21 2016, 16:44) Обычно ...   Jun 22 2016, 05:49
||- - jcxz   Цитата(SasaVitebsk @ Jun 22 2016, 11:49) ...   Jun 22 2016, 06:28
||- - ViKo   Цитата(jcxz @ Jun 22 2016, 09:28) Хотя у ...   Jun 22 2016, 06:39
|- - AlexRayne   Цитата(SasaVitebsk @ Jun 21 2016, 16:17) ...   Jun 21 2016, 13:51
|- - jcxz   Цитата(AlexRayne @ Jun 21 2016, 19:51) вр...   Jun 21 2016, 13:57
|- - AlexRayne   Цитата(jcxz @ Jun 21 2016, 16:57) Объясни...   Jun 21 2016, 15:01
||- - jcxz   Цитата(AlexRayne @ Jun 21 2016, 21:01) чт...   Jun 21 2016, 15:58
|- - RadiatoR   Цитата(jcxz @ Jun 21 2016, 16:57) ЗЫ: Кст...   Jun 21 2016, 16:25
- - ViKo   Измените переменные на 32-битовые. Везде, где можн...   Jun 22 2016, 05:35
- - Влад Р.   Цитата(jcxz @ Jun 22 2016, 08:16) Ну а че...   Jun 22 2016, 06:13
- - Влад Р.   Цитата(jcxz @ Jun 22 2016, 09:28) А тепер...   Jun 22 2016, 06:42
|- - jcxz   Цитата(Влад Р. @ Jun 22 2016, 12:42) Можн...   Jun 22 2016, 06:45
|- - ViKo   Цитата(Влад Р. @ Jun 22 2016, 09:42) Не п...   Jun 22 2016, 06:55
- - Влад Р.   Цитата(ViKo @ Jun 22 2016, 09:55) Включен...   Jun 22 2016, 07:16
|- - HHIMERA   Цитата(Влад Р. @ Jun 22 2016, 10:16) Это ...   Jun 22 2016, 07:55
|- - Obam   Цитата(Влад Р. @ Jun 22 2016, 11:16) PUSH...   Jun 22 2016, 07:57
||- - jcxz   Цитата(Obam @ Jun 22 2016, 13:57) И кстат...   Jun 22 2016, 08:04
||- - scifi   Цитата(Obam @ Jun 22 2016, 10:57) И кстат...   Jun 22 2016, 08:07
||- - Obam   Цитата(scifi @ Jun 22 2016, 12:07) Мысль,...   Jun 22 2016, 08:24
||- - scifi   Цитата(Obam @ Jun 22 2016, 11:13) Cortex-...   Jun 22 2016, 08:51
|||- - Obam   Цитата(scifi @ Jun 22 2016, 12:51) Вы буд...   Jun 22 2016, 12:12
||||- - scifi   Цитата(Obam @ Jun 22 2016, 15:12) Смеятьс...   Jun 22 2016, 12:54
||||- - Obam   Цитата(scifi @ Jun 22 2016, 16:54) Ну, зн...   Jun 22 2016, 14:37
||||- - scifi   Цитата(Obam @ Jun 22 2016, 17:37) Смайлик...   Jun 22 2016, 17:08
||||- - Obam   Цитата(scifi @ Jun 22 2016, 21:08) Слив з...   Jun 23 2016, 08:12
|||- - GetSmart   Цитата(scifi @ Jun 22 2016, 12:51) Bit-ba...   Jun 22 2016, 18:03
|||- - scifi   Цитата(GetSmart @ Jun 22 2016, 21:03) Мож...   Jun 22 2016, 18:08
||- - jcxz   Цитата(Obam @ Jun 22 2016, 14:24) Личный ...   Jun 22 2016, 09:03
||- - ViKo   Цитата(jcxz @ Jun 22 2016, 12:03) Не прав...   Jun 22 2016, 09:41
||- - scifi   Цитата(ViKo @ Jun 22 2016, 12:41) Открыва...   Jun 22 2016, 09:51
||- - ViKo   Цитата(scifi @ Jun 22 2016, 12:51) На как...   Jun 22 2016, 10:05
|- - ViKo   Цитата(Влад Р. @ Jun 22 2016, 10:16) Пояс...   Jun 22 2016, 08:51
- - Сергей Борщ   Может крамолу скажу, но если основной цикл пустой,...   Jun 22 2016, 09:21
|- - Влад Р.   Цитата(Сергей Борщ @ Jun 22 2016, 12:21) ...   Jun 22 2016, 09:51
- - GetSmart   Те же лицензиаты издавали рекламные обзоры, из кот...   Jun 22 2016, 18:19
|- - scifi   Цитата(GetSmart @ Jun 22 2016, 21:19) Ког...   Jun 22 2016, 19:28
||- - GetSmart   Цитата(scifi @ Jun 22 2016, 23:28) Ой, да...   Jun 22 2016, 21:32
||- - GetSmart   Прошу прощения за отклонение от темы беседы. Но по...   Jun 24 2016, 15:58
|- - Obam   Цитата(GetSmart @ Jun 22 2016, 22:19) … B...   Jun 23 2016, 08:27
|- - GetSmart   Цитата(Obam @ Jun 23 2016, 12:27) Справед...   Jun 23 2016, 10:20
- - Влад Р.   Появилась новая проблема - написание обработчика п...   Jun 23 2016, 05:52
|- - Forger   Цитата(Влад Р. @ Jun 23 2016, 08:52) Появ...   Jun 23 2016, 08:12
- - ViKo   ЦитатаИзмените переменные на 32-битовые. Везде, гд...   Jun 23 2016, 08:19
- - Влад Р.   Цитата(Forger @ Jun 23 2016, 11:12) Абсол...   Jun 23 2016, 08:54
|- - scifi   Цитата(Влад Р. @ Jun 23 2016, 11:54) Заме...   Jun 23 2016, 09:13
||- - Влад Р.   Цитата(scifi @ Jun 23 2016, 12:13) Кстати...   Jun 23 2016, 09:33
|||- - Forger   Цитата(Влад Р. @ Jun 23 2016, 12:33) В да...   Jun 23 2016, 09:54
||- - jcxz   Цитата(scifi @ Jun 23 2016, 15:13) Такой ...   Jun 23 2016, 10:17
||- - Forger   Цитата(jcxz @ Jun 23 2016, 13:17) Даже ОС...   Jun 23 2016, 10:34
||- - jcxz   Цитата(jcxz @ Jun 23 2016, 16:17) Наприме...   Jun 23 2016, 10:34
|- - Forger   Цитата(Влад Р. @ Jun 23 2016, 11:54) По-м...   Jun 23 2016, 09:26
- - ViKo   Что-то не впечатляет результат... Надо бы не прост...   Jun 23 2016, 09:13
- - Влад Р.   Цитата(jcxz @ Jun 23 2016, 13:17) Наприме...   Jun 23 2016, 11:15
|- - jcxz   Цитата(Влад Р. @ Jun 23 2016, 17:15) Сейч...   Jun 23 2016, 13:24
- - Влад Р.   Цитата(jcxz @ Jun 23 2016, 16:24) Я уже В...   Jun 23 2016, 13:54
|- - Obam   Цитата(Влад Р. @ Jun 23 2016, 17:54) Опис...   Jun 23 2016, 14:25
|- - scifi   Цитата(Влад Р. @ Jun 23 2016, 16:54) Може...   Jun 23 2016, 14:26
|- - IJAR   http://electronix.ru/forum/index.php?showt...869...   Jun 24 2016, 12:57
- - Влад Р.   Цитата(scifi @ Jun 23 2016, 17:26) Могу: ...   Jun 24 2016, 13:46
|- - jcxz   Цитата(Влад Р. @ Jun 24 2016, 19:46) При ...   Jun 24 2016, 20:25
|- - GetSmart   Цитата(jcxz @ Jun 25 2016, 00:25) Хотя вс...   Jun 25 2016, 02:07
- - Obam   IARом пользуетесь? Тогда "IAR C/C++ Developme...   Jun 24 2016, 13:56
- - Влад Р.   Цитата(Obam @ Jun 24 2016, 16:56) IARом п...   Jun 24 2016, 14:00
- - Влад Р.   Цитата(jcxz @ Jun 24 2016, 23:25) Нет. За...   Jun 24 2016, 21:18
|- - jcxz   Цитата(Влад Р. @ Jun 25 2016, 03:18) В Re...   Jun 27 2016, 04:57
- - Влад Р.   Цитата(GetSmart @ Jun 25 2016, 05:07) Пос...   Jun 25 2016, 04:15
- - GetSmart   Цитата(Влад Р. @ Jun 25 2016, 08:15) Что-...   Jun 25 2016, 15:38
- - Влад Р.   Цитата(jcxz @ Jun 27 2016, 07:57) Обычно ...   Jun 27 2016, 12:05
|- - Сергей Борщ   QUOTE (Влад Р. @ Jun 27 2016, 15:05) Сбро...   Jun 27 2016, 12:51
|- - jcxz   Цитата(Влад Р. @ Jun 27 2016, 18:05) Тут ...   Jun 27 2016, 14:03
- - Влад Р.   Цитата(Сергей Борщ @ Jun 27 2016, 15:51) ...   Jun 27 2016, 13:12
- - ViKo   КодCMP R0, #3; Compare input to maximum valid choi...   Jun 27 2016, 14:12
|- - jcxz   Цитата(ViKo @ Jun 27 2016, 20:12) MULS R0...   Jun 27 2016, 15:22
|- - ViKo   Цитата(jcxz @ Jun 27 2016, 18:22) Однако ...   Jun 27 2016, 15:41
- - Влад Р.   Цитата(jcxz @ Jun 27 2016, 17:03) Не поня...   Jun 27 2016, 15:27
- - jcxz   Цитата(Влад Р. @ Jun 27 2016, 21:27) На с...   Jun 27 2016, 15:59


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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 09:10
Рейтинг@Mail.ru


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