下载零死角玩转stm32看看吧,用stm32点亮led看似简单,实际要涉及到很多东西,从建立模板,调用库函数,配置gpio,打开gpio时钟,初始化gpio…….当你能点亮led时你也入门了.
如果你led一边接地,一边接gpio.这样就可以关闭led灯gpio_resetbits就是将对应的gpio位输出0,两边电压差为0时就关闭led灯了
1. gpio初始化2. 对应led的gpio口设置为output3. 对应led的gpio口输出设为高电平
你的写程序的时候没有设置你用的STM32的类型,在stm32f10x.h中设置./* Uncomment the line below according to the target STM32 device used in your application */#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !
推挽输出,数值的默认值又是0,你自己想想管脚会输出什么……百度嫌我字数不够
你先实现点亮LED和串口接收,然后写个状态机来处理接收到的数据
设断点调呗,这还有什么不知道调试的,首先看看你的移植的cos2移植成功没,建立两个任务,看两个任务之间能不能循环执行?之后再跟led的问题
GPIO初始化对应LED的GPIO口设置为OUTPUT对应LED的GPIO口输出设为高电平
int main(void){ SystemInit(); /* 开启GPIO时钟 */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_ResetBits(GPIOC,GPIO_Pin_13); while(1);}
逻辑关系还不算复杂,最好能给个原理图!另外写程序之前请确定一下内容1、引脚输出0时点亮,输出1时熄灭?你的所有灯是共阳极连接的吗?如果不是还需再加反向芯片,请问选用什么芯片?2、你准备用几个引脚控制这些灯?42个灯分别占用一个引脚的话就简单了,需要一个引脚控制多盏灯,请问选什么I/O扩展芯片?3、STM32选用哪个型号?不同型号引脚不一样的!4、看你的要求是不是原理图还要帮你设计?