Вы можете написать сейчас и зарегистрироваться позже.
Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
кто скачал версию (архив) BootLoader12.zip, прошу скачать его заново. в первом посте я заменил архив.
к сожалению, после одного изменения функции записи флеши я допустил критическую ошибку. в результате при определенной длине прошивки маленький "хвост" прошивки не записывался.
я проверял на других файлах, где не было этого "обрезания". а сейчас на одном файле столкнулся с этой ошибкой.
Я написал там код точно также как у меня написан код в обработчике USB. Это рабочий код чтения с USB размер как раз 512 байт.
В Fatfs не работает корректно, в USB работает корректно.
//Чтение 512 байт в Fatfs
DRESULT disk_read (
BYTE pdrv, /* Physical drive nmuber to identify the drive */
BYTE *buff, /* Data buffer to store read data */
DWORD sector, /* Sector address in LBA */
UINT count /* Number of sectors to read */
)
{
DRESULT res;
//res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count);
sprintf(buffer0, "sector=%lu\r\n", sector);
Usart1_Send_String(buffer0);
w25qReadPage(buff, sector*2);
w25qReadPage(buff + 256, sector*2+1);
res=RES_OK;
return res;
}
//Чтение 512 байт в USB:
/**
* @brief .
* @param lun: .
* @retval USBD_OK if all operations are OK else USBD_FAIL
*/
int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)
{
/* USER CODE BEGIN 6 */
LED0; // 0 включение светодиода
w25qReadPage(buf, blk_addr * 2);
w25qReadPage(buf + 256, blk_addr * 2 + 1);
LED1; // 1 выключение светодиода
return (USBD_OK);
/* USER CODE END 6 */
}
Все правильно. Но работают же некоторе время с малым потребления тока в некоторых устройствах. Творчество от нечего делать не запрещено? Пусть и тема живет для тех кому это еще интересно. Здесь делятся успехами в чем то и неудачами. Все зависит от рук и головы участника.
Можно хотя бы название написать.
Это люди, которые зная или не зная того, током счищают с анода и катода чуть-чуть окислов, после чего реакция может ещё продолжаться какое-то время. Но чем более оптимально по расходу материалов сделана батарейка, тем более бесполезен этот процесс. А сейчас делать максимально дешёвые батарейки вполне научились. Ну нету в них практически никакого запаса реагентов к концу разрядки.
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.