在使用JLINK下载器期间,出现JLINK突然不能使用,指示灯不亮,曾以为板子烧坏,多次出现此故障后,故此上网寻查,一探究竟。刚上百度,发现众人也有此现象。原因:山寨版的jlink会出现固件丢失。解决方法:重新刷固件
背景知识:https://zh.wikipedia.org/wiki/I%C2%B2Cstm32中的IIC描述:I2C功能描述:I2C模块接收和发送数据,并将数据从串行转换成并行,或并行转换成串行。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SC
STC89C52rc是STC公司生产的一种低功耗、高性能的CMOS8位控制器,具有8k字节系统可编程FLASH存储器。stc89c51用的是经典的MCS-51内核,但是做了很多改进,使芯片具有传统51不具备的功能,但单芯上有灵活的8位CPU和系统
在做四旋翼时出现的一些问题,总结记录一下。PWM定时器初始化先上代码:(代码不包括端口的初始化)voidTim2_init(void){TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_OCInitTypeDefTIM_OCInitStructure;RCC_A
最近在玩车载液晶仪表,之前用Arduino+USART液晶,后来发现Arduino性能不够,就转向STM32。由于需要在液晶屏上显示手机信息,先是采用了普通点阵字库方案,个人感觉效果惨不忍睹,满屏的锯齿。翻遍网络,没发现比较合
STM32的硬件I2C不太好用,N多人深受其困扰,本人也不例外.所以干脆一不做二不休,用模拟的I2C算了,虽然速度不及硬件I2C,在一般的应用中还是不错的.帖上代码和协议分析图,造福广大受STM32的I2C困扰的朋友,哈哈!为了跟硬件
下面编写下USB键盘的程序,依然在CustomHID工程上修改。依旧最先修改的是usb_desc.c文件。我们从设备描述符开始讲述。设备描述符需要修改下bMaxPacketSize(最大包长度)域为0x08,因为被本次的工程最大通讯长度就是8字
一。 寄存器和固定库开发的区别和联系STM32的寄存器很多,不容易记忆,调用固定库函数,设置好入口参数,从而操作相应的寄存器。二。MDK下寄存器地址和名称映射关系GPIO各端口的地址GPIOA 的寄存器的地址=GPIOA 基地
1总体描述:DM9000A的PHY能够以10BASE-T的标准在UTP3\\4\\5或者以100BASE-T的标准在UTP5上接口通信。它的自动协商功能是够自动配置DM9000A最大地发挥出自身性能。它同时支持IEEE 802.3X全双工数据流通信。2、结构图:3
最近在项目中要用到飞思卡尔的MMA7660这一款传感器,我在STM32中使用的是模拟I2C来读写它的寄存器,闲话不多说,代码如下:1、IO引脚配置和模拟I2C的方法/********************(C)COPYRIGHT2015ASTO****************
在NVIC中有一个硬fault状态寄存器(HFSR),它指出产生硬fault的原因。如果不是由于取向量造成的,则硬fault服务例程必须检查其它的fault状态寄存器,以最终决定是谁上访的。1、寄存器描述首先查看硬故障寄存器,判别
STM32和STM8的串口貌似都可以一次发送9位数据,最近才注意到这个,在此记录。一般不带奇偶校验位的串口数据:起始位(1)+数据位(8)+停止位(1)带奇偶校验位的串口数据:起始位(1)+数据位(8)+校验位(1)+停止
//位带操作,实现51类似的GPIO控制功能//具体实现思想,参考第五章(87页~92页).//IO口操作宏定义#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。2)SRAM = 芯片内置的RAM区,就是内存啦。3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Boot
使用STM32的芯片的朋友,可以很方便的将移植到GD32上面,下面就具体移植过程分享一下:整个移植过程可以分为硬件和软件两个方面。硬件方面:首先要确定先前所使用ST芯片的flash大小和管脚数量,然后替换成GD相同大小
原因是JTAG已经被占用,当然不能再用JTAG操作啦!此时要保证CPU不进入正常运行状态,才能使用JTAG。解决方案:options for target ---->Debug---->右上方---->use 后面的setting按钮------>左上方Ort下面的JTAG变为S
网上关于发送字符的代码大多如下:USART_SendData(USART1, (uint8_t)ch);while( USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);其实咋一看是说的通的,但是在仔细看手册的时候发现 TC 和 TXE 标志位在复位的时
Note: keil生成的.axf或者.elf都是可以执行的镜像文件。IAP User Program 需要注意的问题要设置好好中断向量的问题,假设User Program 开始地址是(0x08008000),那么中断向量就必须设在在0x08008000处,中断向量要
STM32位带操作举例intmain(void){GPIO_InitTypeDefGPIO_InitStruction;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStruction.GPIO_Pin=GPIO_Pin_8;GPIO_InitStruction.GPIO_Mode=GPIO_Mode_Out_
一、STM32通用定时器原理STM32系列的CPU,有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生