According to the documentation, lwadc supports multiple channels, but we did not use it. Lwadc operates on lower level than classic MQX IO (open/read/ioctl), and have custom IO API. But on this level of abstraction this API looks clumsy (read the MQXIOUG doc and you will understand what i mean). We found that it easier to operate with these modules via PE-generated code. It is the thinnest-possible layer over the direct registers access, but it allows to write short, clear and easily understandable code. There's absolutely no problems with integrating PE-generated code into the MQX-based project. AFAIK it is only necessary to turn off the corresponding MQX device in user_config.h.
---
Судя по документации, lwadc поддерживает многоканальную работу с ADC, но мы не использовали их. Lwadc работает на более низком уровне, чем классическое MQX IO (open/read/ioctl), и имеет собственное IO API. Но на этом уровне абстракций это API выглядит неуклюже (почитайте MQXIOUG и Вы поймете, что я имею ввиду). Оказалось, что намного проще работать с этими модулями через код, сгенерированный PE. Это минимальный слой абстракции над прямым доступом к аппаратным регистрам, но он позволяет писать короткий, ясный и понятный код. Нет никаких проблем с подключением сгенерированного кода к проекту для MQX. Насколько мне известно, достаточно просто выключить соответствющее устройство MQX в user_config.h.