
hgdfhk
06.02.2018
16:22:03

Кирилл
06.02.2018
16:23:50
А, хитачи. И что с ним?

hgdfhk
06.02.2018
16:24:00
Конкретика.
Вот под такой диск нужен точ в точ такую же плату, или можно поставит аналогичную по объёму с другого диска хитачи?

Google

hgdfhk
06.02.2018
16:25:00

sifun
06.02.2018
16:25:07
ищи донора

Кирилл
06.02.2018
16:25:57
Скорее всего искать такую же плату с заменой епромки и молиться чтоб коммутатор был жив

☭
06.02.2018
16:29:16

hgdfhk
06.02.2018
17:05:04

Кирилл
06.02.2018
17:06:04

hgdfhk
06.02.2018
17:07:14
s93c86
Мне на донор придется её впаять?

Кирилл
06.02.2018
17:07:43
да

hgdfhk
06.02.2018
17:08:17
да
Без неё не щарвботает что ли, для чего эта платка?

Кирилл
06.02.2018
17:08:35
Калибровочные константы для данного ЖД

☭
06.02.2018
17:08:43
блин так кому из вас донор-то нужен? ?

Кирилл
06.02.2018
17:09:18
Не мне, уж точно

Google

hgdfhk
06.02.2018
17:09:42

☭
06.02.2018
17:10:21
А с откуда?

hgdfhk
06.02.2018
17:10:43

☭
06.02.2018
17:11:24
Ну ок. Тогда не буду залежи раскапывать :)

sifun
06.02.2018
17:11:35
если диск не расцарапан нахуй то всё можно достать
вопрос какой ценой

hgdfhk
06.02.2018
17:12:44
А не проше сам диск переставить?

sifun
06.02.2018
17:13:00
ахахахаха

hgdfhk
06.02.2018
17:13:06
Бля

sifun
06.02.2018
17:13:11
блин хочешь переставить???
ахахахаха

hgdfhk
06.02.2018
17:13:15
Точно туплю

☭
06.02.2018
17:13:32
а что? пара часов слить данные у него будет :)
ну или не будет ?

Кирилл
06.02.2018
17:14:08
Бля
а давай ты всё-таки расскажешь, что с ним случилось. ПРосто взял и перестал башкой трясти?

hgdfhk
06.02.2018
17:15:47
Я сам не понял что случилось я достал его с корпуса аккуратно при запушенном пк, чтоб обмотать шумкой, положыл его на ребро системника и все синий экран и после этого диск с биоса пропал

Кирилл
06.02.2018
17:18:21
>при запущенном
ССЗБ.
Ну, тут без вариантов, если вменяемых ремонтников, способных провести диагностику контроллеру, поблизости нет.

hgdfhk
06.02.2018
17:20:24

shadowsoul
06.02.2018
17:20:32
бгг, ну страдай

Google

shadowsoul
06.02.2018
17:20:40
без толковых ремонтников ты его не спасёшь
и замена платы без понимания смысла действий и опыта с этой серией всё только наебнёт

Кирилл
06.02.2018
17:21:05
Не знаю, хорошо если на корпус вышибло.

shadowsoul
06.02.2018
17:21:44
вот сначала люди с дурости шумоизоляцией обматывают харды, а потом клинит нахуй от перегрева
где логика, где разум...

hgdfhk
06.02.2018
17:22:12

shadowsoul
06.02.2018
17:22:23
не может винт не греться)
он же жрёт не 0 ватт

Кирилл
06.02.2018
17:23:15

hgdfhk
06.02.2018
17:23:26
Не перегрелся он, я смотрел температуру

shadowsoul
06.02.2018
17:23:27
вполне возможно

hgdfhk
06.02.2018
17:24:02
Через мои руки могло пробить?

Кирилл
06.02.2018
17:24:04

shadowsoul
06.02.2018
17:24:30
и антистатического браслета нет, и заземления нормального небось тоже

hgdfhk
06.02.2018
17:24:51
Значит нет смысла донор покупать и в ремонт сдавать?

Кирилл
06.02.2018
17:26:45
Есть смысл просто сдать в ремонт в НОРМАЛЬНУЮ контору

Василий
06.02.2018
17:26:47
Есть же конторы, которые занимаются востановлением данных с накопителей
почему бы им не сдать
у них уже все схвачено должно быть

Google

Кирилл
06.02.2018
17:27:21
и быть готовым к тому что или запросят в стоимость нового, или будет нерентабельно

shadowsoul
06.02.2018
17:27:47
и в пять, и в десять...

Кирилл
06.02.2018
17:28:05

Byte
06.02.2018
17:28:18
Хватит флудить…

hgdfhk
06.02.2018
17:38:48
Но в любом случае донор нужно купить, потом мастерам отдавать?

Martin
06.02.2018
18:08:39
как правильно обрабатывать перывание по приему UART stm32 HAL freertos?
создается очередь, создается задача которая принимает байт и пишет в нее, вторая задача из этой очереди забирает байт, и отсылает в USB. Но все виснет как только приходит пакет

Admin
ERROR: S client not available

Dmitry
06.02.2018
18:16:59
Ты бы кусок кода показал людям

Martin
06.02.2018
18:17:44
https://pastebin.com/CVDf5JZX
честно говоря не очень то в голове понимание зреет. опирался на статьи с хабра https://habrahabr.ru/post/249975/

Dmitry
06.02.2018
18:22:01
А зачем каждую миллисекунду разрешать прерывание по юарту?
Если виснет - смотри дебаггером где. Может ты уже в хардфолт улетел

Martin
06.02.2018
18:28:02
тоже это вопрос вызывает, опирался на статью
Где правильно было бы, вызывать прерывание?

Dmitry
06.02.2018
19:01:04
ИМХО, один раз до бесконечного цикла, а потом в обработчиках - по приёму байта и по ошибке

kiltum
07.02.2018
07:00:00
(скрылся) Ой блин, кто-то мои статьи использует.
Виснет потому что вызыв очереди идет из прерывания. Там есть имяфункцииFromISR - их надо юзать ?
А каждую миллисекунду прерывания звать - это был один из челленджей, если я правильно помню. Там специально упоменял про комменты в коде ?

Google

kiltum
07.02.2018
07:02:13
Но я старый и мог все забыть ?

Martin
07.02.2018
07:03:20
Оу) приятная неожиданность. Цикл статей супер, очень понравилось и пригодилось

kiltum
07.02.2018
07:07:36
ну ок. только учти, что они немного устарели. стм в хал напихало разного и что-то может уже не работать. я код не апдейтил от слова совсем
Кстати да, я же там написал , Так же обратите внимание на то, что я использовал в обработчике прерывания xQueueSend вместо xQueueSendFromISR. Это сделано специально, что бы контроллер в процессе испытаний «а так оно сможет» (или говоря простыми словами, при поднятии скорости на последовательном порту где-то до 57600-115200) начал регулярно зависать. Простое включение отладчика показало бы, что он завис в ожидании на попытке записать в переполненную очередь. Внутри реального кода есть еще пара таких «ловушек».
?


Martin
07.02.2018
07:10:34
Сейчас буду пробовать
сейчас сделал так. Первичное перывание вынес за бесконечный цикл:
void Usart_Rx(void const * argument)
{
HAL_UART_Receive_IT(&huart2, receive_UART,1);
for(;;)
{
osDelay(1);
}
}
далее в колбеке:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
xQueueSendFromISR(Uart_Queue, receive_UART, &xHigherPriorityTaskWoken);
HAL_UART_Receive_IT(&huart2, receive_UART, 1);
}
как я понимаю это работать должно.
В задаче Usart_Rx разрешили прием на 1 байт. Далее в колбеке уходит байт в очередь Uart_Queue, снова разрешается прием одного байта
и так далее
у и еще задачка которая выгребает очередь и в USB отправляет:
void Uart_Queue_USB(void const * argument)
{
for(;;)
{
xQueueReceive(Can_Queue, receive_UART, portMAX_DELAY);
CDC_Transmit_FS(receive_UART, 1);
}
}
зависания пропали после тогокак применил xQueueSendFromISR вместо xQueueSend. Прерывание по приему дергается, но в очереди ничего нет


kiltum
07.02.2018
08:27:38
ну ... шлешь ты в Uart_Queue, а принимаешь из Can_Queue ?
И да, проверяй возврат от xQueueReceive - иначе ты рискуешь в CDC_Transmit_FS передать не то и не тогда

Roman
07.02.2018
08:35:55
Принимать по одному байту и складывать в очередь?
Мне кажется это очень расточительно (глупо)

Martin
07.02.2018
08:37:57
само собой
на поиграться и понять чего к чему, допустимо

Roman
07.02.2018
08:41:50
Разве что поиграться. Только играться лучше (удобнее и полезнее) на ПК. К примеру с портом под MINGW
или запилить порт под POSIX

kiltum
07.02.2018
08:48:30
... на микроконтроллере с 8 килобайтами памяти ?

Dolphin
07.02.2018
08:50:36