RISC-V CH32V как замена стм32
Я тоже взял этот кит по подсказке из форума.
- Реклама
- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Я просто распаял CH32FV203 на плату переходник и в беспаечную макетку ее воткнул. Девборды разные и так по всем углам валяются, иной раз не вспомнит когда и зачем какую брал.
Астролябия-сама меряет, было бы что мерять!!!
Куплю и готовые модули. Но часть удовольствия: работать только с ИС/МК.
---
Припаял CH32V003F4P6. LED мигает по 100 ms
.
С reference routines CH32V003EVT (и другие) начало кода отн. просто: берем и модифицируем.
На моем старом компьютере IDE MounRiver Studio "летает".
---
здесь
В общем, у меня началось "расслоение личности": на этом этапе написания программного кода я на каком МК и в какой IDE ... 
---
Припаял CH32V003F4P6. LED мигает по 100 ms
С reference routines CH32V003EVT (и другие) начало кода отн. просто: берем и модифицируем.
На моем старом компьютере IDE MounRiver Studio "летает".
---
Код: Выделить всё
__delay_ms(1000);
_delay_ms(100);
delay_ms(100);
delay(100);
HAL_Delay(100);
и другие ...Код: Выделить всё
Delay_Ms(100);- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Теперь бы разобраться со стандартными библиотеками входящими в состав ide. С настройками тактирования в первую очередь.
Астролябия-сама меряет, было бы что мерять!!!
- Реклама
- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
А в MPLAB значения отображаются без постановки на паузу?
Собственно, как увидеть значение переменной без остановки программы, если оно непрерывно изменяется? Будет мельтешение, а не наблюдение
Собственно, как увидеть значение переменной без остановки программы, если оно непрерывно изменяется? Будет мельтешение, а не наблюдение
Астролябия-сама меряет, было бы что мерять!!!
Для MPLAB у меня нет дебъгера.
В STM32CubeIDE, Keil все ОК. Переменная меняется. С (почти) такая скорость меняется и ее значения в отладчике.
(Почти) ето была моя главная причина для (медленного) перехода на STM32.
В STM32CubeIDE, Keil все ОК. Переменная меняется. С (почти) такая скорость меняется и ее значения в отладчике.
(Почти) ето была моя главная причина для (медленного) перехода на STM32.
- Сообщения: 12867
- Зарегистрирован: Сб дек 18, 2021 19:25:32
[uquote="Asmodey",url="/forum/viewtopic.php?p=4611908#p4611908"]как увидеть значение переменной без остановки программы, если оно непрерывно изменяется?[/uquote] Человеку никак, но отладчику возможно. В IAR можно поставить какие угодно "брякпоинты" на изменение данных, вести их график: https://www.iar.com/knowledge/learn/deb ... eakpoints/
- Сообщения: 297
- Зарегистрирован: Вт май 14, 2024 18:39:25
[uquote="Asmodey",url="/forum/viewtopic.php?p=4611908#p4611908"]А в MPLAB значения отображаются без постановки на паузу?
Собственно, как увидеть значение переменной без остановки программы, если оно непрерывно изменяется? Будет мельтешение, а не наблюдение
[/uquote]
В этом и секрет профи от начинающего.
Добавлено after 3 minutes 16 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4611933#p4611933"][uquote="Asmodey",url="/forum/viewtopic.php?p=4611908#p4611908"]как увидеть значение переменной без остановки программы, если оно непрерывно изменяется?[/uquote] Человеку никак, но отладчику возможно. В IAR можно поставить какие угодно "брякпоинты" на изменение данных, вести их график: https://www.iar.com/knowledge/learn/deb ... eakpoints/[/uquote]
Просто интересно стало. а сколько программ больше листа (условно на два десятка строк) ты написал?
Собственно, как увидеть значение переменной без остановки программы, если оно непрерывно изменяется? Будет мельтешение, а не наблюдение
В этом и секрет профи от начинающего.
Добавлено after 3 minutes 16 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4611933#p4611933"][uquote="Asmodey",url="/forum/viewtopic.php?p=4611908#p4611908"]как увидеть значение переменной без остановки программы, если оно непрерывно изменяется?[/uquote] Человеку никак, но отладчику возможно. В IAR можно поставить какие угодно "брякпоинты" на изменение данных, вести их график: https://www.iar.com/knowledge/learn/deb ... eakpoints/[/uquote]
Просто интересно стало. а сколько программ больше листа (условно на два десятка строк) ты написал?
- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
stoun, давай-ка ты к себе, в тему про германиевую аудиофилию. Незачем профильные темы марать своими писульками.
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 297
- Зарегистрирован: Вт май 14, 2024 18:39:25
[uquote="Asmodey",url="/forum/viewtopic.php?p=4613484#p4613484"]stoun, давай-ка ты к себе, в тему про германиевую аудиофилию. Незачем профильные темы марать своими писульками.[/uquote]
ок гугл.
ок гугл.
Blink на PCF8574. Освоение I2C к CH32V в MounRiver Studio. Успешно
.
Нельзя ли короче? Всегда ли будут нужны эти проверки?
Код: Выделить всё
#define PCF_I2C_ADDR 0x20
...
void pcf_write(uint8_t data) {
while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY) != RESET);
I2C_GenerateSTART(I2C1, ENABLE);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));
I2C_Send7bitAddress(I2C1, PCF_I2C_ADDR << 1, I2C_Direction_Transmitter);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
if (I2C_GetFlagStatus(I2C1, I2C_FLAG_TXE) != RESET)
I2C_SendData(I2C1, data);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
I2C_GenerateSTOP(I2C1, ENABLE);
...
while(1) {
pcf_write(0b11111111);
Delay_Ms(100);
pcf_write(0b11111110);
Delay_Ms(100);
}
}- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Модуль touch key в каком-нибудь из CH32V003 присутствует?
Астролябия-сама меряет, было бы что мерять!!!
Во всех типах есть, без V003: WCH, MCU+, RISC-V, Cortex-M
- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Жаль... Вот ведь засада, из трех типов более или менее подходящих мне 20-выводных CH32Vxxx у одного нет внешнего кварца, у второго нет I2C, у третьего отсутствует TouchKey. Все против меня 
Астролябия-сама меряет, было бы что мерять!!!
[uquote="Asmodey",url="/forum/viewtopic.php?p=4618605#p4618605"]... 20-выводных CH32Vxxx у одного нет внешнего кварца ...[/uquote]
Пусть будет легче
: вчера заказал и CH32X033F8P6. Есть только HSI RC.
Спасибо за информацию. Найдем им применение даже при этом недостатке, но МК подкупают своей ценой.
---
Сегодня отработал более сложные действия в I2c, теперь управляю ЖК (0802)
... Дело потихоньку настраивается. Даже думаю, что писать программный код в MounRiver Studio - это легко. Все, что используется, там есть. На моем старом компьютере компилируется быстро, "паразитных" надписей нет, оптимизация работает, прилично сжимает скомпилированный hex ...

Пусть будет легче
Спасибо за информацию. Найдем им применение даже при этом недостатке, но МК подкупают своей ценой.
---
Сегодня отработал более сложные действия в I2c, теперь управляю ЖК (0802)
- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
[uquote="veso74",url="/forum/viewtopic.php?p=4618628#p4618628"]писать программный код в MounRiver Studio - это легко[/uquote]
Фактически стандартная IDE, без лишних загадок и неожиданностей. Такое впечатление, что сделана на основе чего-то уже давно знакомого.
Фактически стандартная IDE, без лишних загадок и неожиданностей. Такое впечатление, что сделана на основе чего-то уже давно знакомого.
Астролябия-сама меряет, было бы что мерять!!!
"Борьба" с SysTick. Но сработало
.
Есть еще "волшебные" функции/атрибуты, но можно ли без них
. Что делает это?
Есть еще "волшебные" функции/атрибуты, но можно ли без них
Код: Выделить всё
void SysTick_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast")));- Сообщения: 6541
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Я так понимаю, эта функция-обработчик вызывается через какое-то количество прерываний от системного таймера. Но это только предположение, как на самом деле пока не знаю.
Астролябия-сама меряет, было бы что мерять!!!


