拿到CH32X035评估板挺久了,当时用烧录的时候发现总是烧录失败,于是就自己重新画了个板子,发现还是烧录失败,就弄得没信心了。报错信息如下:
使用WCHlinkE这个烧录器下载也是这样的问题,就是下载了,提示下载失败,于是我升级了WCHlinkE烧录器,升级了MounRiver Studio,发现错误依然,最后发现这个烧录器的状态指示灯不太正确,后来翻找资料,发现这个烧录器的模式好像是arm内核烧录模式,于是撬开外壳,按住modeS按键,重新给烧录器上电,状态灯由原来的蓝红全亮变为红亮蓝不亮,通过MounRiver Studio烧录之后发现可以正常烧录了,本来想驱动WS2812的,因为这个芯片主打的就是PD和PIOC的功能,但我的WS2812板临时找不到的,于是就拿了官方的LEDdemo简单测试了一下。
voidGPIO_Toggle_INIT(void)
{
GPIO_InitTypeDefGPIO_InitStructure = {0};
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
intmain(void)
{
u8i = 0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
SystemCoreClockUpdate();
Delay_Init();
USART_Printf_Init(115200);
printf("SystemClk:%d\r\n", SystemCoreClock);
printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );
printf("GPIO Toggle TEST\r\n");
GPIO_Toggle_INIT();
while(1)
{
Delay_Ms(500);
GPIO_WriteBit(GPIOA, GPIO_Pin_0|GPIO_Pin_1, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
}
}
烧录完成之后,用条线接上LED1和LED2,发现可以每500ms变换一次。
|