photopea - простой отличный онлайн редактор фотографий
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Компьютерная повседневность
- Просмотров: 819
https://www.photopea.com/
STM32F UART vulnarability fixed
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование микроконтроллеров
- Просмотров: 1067
HAL_UART_Receive_IT( &huart2, (uint8_t * )aRXBufferUser, RX_BUFFER_SIZE);
...
void HAL_UART_RxCpltCallback(UART_HandleTypeDef * huart) {
/* USER CODE BEGIN HAL_UART_RxCpltCallback_1 */
/* USER CODE END HAL_UART_RxCpltCallback_1 */
if (huart->Instance == USART1) {
if ((NULL != RxCpltCallback)
&& (HAL_UART_ERROR_NONE == huart->ErrorCode)) {
RxCpltCallback( &charRx, 1, 0);
}
HAL_UART_Receive_IT(huart, &charRx, 1);
}
/* USER CODE BEGIN HAL_UART_RxCpltCallback_2 */
if (huart->Instance == USART2) {
UART2_SET = 1;
}
/* USER CODE END HAL_UART_RxCpltCallback_2 */
}
void MeasurePM_sens(void) {
uint16_t RxLen;
if (aRXBufferUser[0] == 0x02 && aRXBufferUser[31] == 0x03) {
PM2_5 = aRXBufferUser[5] + aRXBufferUser[6] * 256
+ aRXBufferUser[7] * 65536;
UART2_SET = 0;
HAL_UART_Receive_IT( &huart2, (uint8_t * )aRXBufferUser, RX_BUFFER_SIZE);
} else
HAL_UARTEx_ReceiveToIdle( &huart2, (uint8_t * )aRXBufferUser,
RX_BUFFER_SIZE, &RxLen, 1000);
}
//or:
HAL_UARTEx_ReceiveToIdle_IT(&huart2, (uint8_t*) aRXBufferUser, RX_BUFFER_SIZE);
Ok it not fixed fully will add some timer... probably..upd: interesting but works - two calls together:
HAL_UART_Receive_IT(&huart2, (uint8_t *) aRXBufferUser, RX_BUFFER_SIZE); HAL_UARTEx_ReceiveToIdle(&huart2, (uint8_t *) aRXBufferUser, RX_BUFFER_SIZE, &RxLen, 1000);
PonyProg2000 update to work with ATmega328P (Arduino Nano)
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование микроконтроллеров
- Просмотров: 1235
Supports:
0x1E 0x94 0x0B // new ATmega168PA (RG 28.09.2012)
0x1E 0x95 0x0F // new ATmega328P (RG 23.06.2012)
0x1E 0x94 0x0F // new ATmega164A (RG 30.08.2013)
0x1E 0x95 0x15 // new ATmega324A (RG 30.08.2013)
0x1E 0x95 0x11 // new ATmega324PA (RG 30.08.2013)
0x1E 0x96 0x0A // new ATmega644PA (RG 18.04.2012)
Патчер:
Хорошая русскоязычная статья по LoRaWAN
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Электроника / cхемотехника
- Просмотров: 788
LoRa E5 bootloader and erase to your FW
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование микроконтроллеров
- Просмотров: 855
We use PB13 to control the module to stay in bootloader(for DFU) or jump to the AT application. When PB13 is HIGH, the module will jump to AT application after reset.
What is more, the Factory AT Firmware is programmed with RDP Level 1. If you want to develop your own application, please remove RDP first with STM32Cube Programmer. Note that regression RDP to level 0 will cause a flash memory mass erase. That means the Factory AT Firmware can not restore.
from:
Страница 34 из 196
