Цитата(MALLOY2 @ Mar 23 2012, 11:54)

Я для SAM9XE (IAR 6.x) делал так:
[code]template <int PORT, int T_BUFF_SIZE, int R_BUFF_SIZE>
class THwUART
[code]
То есть порты с номером от 0...сколько их есть-1.
Спасибо.
Что за ОС кстати? Вроде что-то знакомое но не совсем.
Цитата(neiver @ Mar 23 2012, 13:06)

Сложность здесь заключается в том, что эти структуры регистров периферии часто объявляются очень разными способами. Это может быть дефайн, в котором целочисленный литерал приводится к указателю на соответствующую структуру. А может быть хитрым образом переменная, размещенная по нужному адресу с помощью каких-то компиляторных расширений. Просто взять адрес такой структуры и передать его как параметр шаблона в большинстве случаев не получится, так как компилятор может не посчитать его пригоднам для параметра шаблона. Самый надёжный, на мой взгляд, способ - обращаться к этой структуре по имени. Для этого делаем макрос, который объявляет хитрую структуру-обёртку:
Спасибо за пример.
Попробую вечером.