拿到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变换一次。
|