Size: a a a

2020 May 28

D

Dima in Embedded Group
По сути, если запретить инкремент адреса буфера, указать размер буфера 1 байт, то у меня вызовется прерывание по заполнению буфера?
источник

СК

Сергей Колотовченко... in Embedded Group
в теории да, но зачем?
источник

СК

Сергей Колотовченко... in Embedded Group
Если нужно принять 1 байт, то используй просто прерывание о приходе байта. DMA же для скоростного приёма данных, но нужен кольцевой буффер
источник

MN

Mikhail Natalenko in Embedded Group
Dima
По сути, если запретить инкремент адреса буфера, указать размер буфера 1 байт, то у меня вызовется прерывание по заполнению буфера?
Все зависит от твоей задачи и архитектуры. Например, если ты хочешь "накапливать" инфу в буффере и потом читать в удобное для тебя время, то можно выделить большой буффер и чекать смещение (каждый новый байт в дма уменьшает значение CNDTR).
источник

D

Dima in Embedded Group
Да, я так же думаю, на прием использовать прерывание uart
источник

MN

Mikhail Natalenko in Embedded Group
Эээ. Я тебе наоборот предложил решение, в которых прерывания почти не используются
источник

MN

Mikhail Natalenko in Embedded Group
Только на переполнение буффера
источник

MN

Mikhail Natalenko in Embedded Group
Читаешь циклично. Короче, аппаратно у тебя будет циклический буффер, надо только дописать логику для определения того, что ты уже прочитал
источник

D

Dima in Embedded Group
Передача небольшая. Только управление устройством. А вот МК в комп по uart скидывает через dma данные
источник

MN

Mikhail Natalenko in Embedded Group
Это одно из решений. Если, например, тебе нужно читать данные для мобдаса, где важно именно ловить конец фрейма, то он не подходит по идее.
источник

D

Dima in Embedded Group
Да, конец строки нужно ловить. По этому остановлюсь на прерывании
источник

D

Dima in Embedded Group
Побайтно в буфер накоплю команду, а конец строки укажет, что это последний байт
источник

MN

Mikhail Natalenko in Embedded Group
Может быть, тебе интересно будет почитать про биты RTOF
источник

D

Dima in Embedded Group
Литературы на самом деле у st более чем достаточно. С английским печаль конечно
источник

T

T1000 in Embedded Group
Alexander
Ну или пиковый детектор на операционнике.
Благодарю.
источник

DA

Dmitry Aloyan in Embedded Group
Я тут читаю в интернетах, что народ уверенно заряжает аккумуляторы с помощью модулей на основе китайских XL4015. Как я понимаю, там тупая совсем логика работы. Не такая, как в спец микросхемах, как в usb банках?
источник

DS

Dmitriy Salko in Embedded Group
Dmitry Aloyan
Я тут читаю в интернетах, что народ уверенно заряжает аккумуляторы с помощью модулей на основе китайских XL4015. Как я понимаю, там тупая совсем логика работы. Не такая, как в спец микросхемах, как в usb банках?
ну, наверное не каких попало модулей, а с cc/cv. Если не брать во внимание граничные случаи (вывод с глубокого разряда пониженным током и отключение после конца зарядки - что и не у всех "спец микросхем" есть) - то они работают так же.
источник

DS

Dmitriy Salko in Embedded Group
единственное что может быть паршиво - это что при отключении питания она может разряжать аккум, но это по конкретной схеме надо смотреть
источник

DA

Dmitry Aloyan in Embedded Group
Dmitriy Salko
ну, наверное не каких попало модулей, а с cc/cv. Если не брать во внимание граничные случаи (вывод с глубокого разряда пониженным током и отключение после конца зарядки - что и не у всех "спец микросхем" есть) - то они работают так же.
Я к тому, что там зарядный ток ограниичвается, но не меняется с течением времени. То есть, я могу аналогично просто выставить зарядный ток (к примеру 300-500мА) и ждать когда потребление упадет и напряжение выровнится до напряжения банки?
источник

h

hardegor in Embedded Group
Dmitry Aloyan
Я к тому, что там зарядный ток ограниичвается, но не меняется с течением времени. То есть, я могу аналогично просто выставить зарядный ток (к примеру 300-500мА) и ждать когда потребление упадет и напряжение выровнится до напряжения банки?
Ну да, всегда так аккумуляторы и заряжают.
источник