
Arm/RiseV
文章平均质量分 55
STM32 GD32 CH32等单片机
#Page#
这个作者很懒,什么都没留下…
展开
-
CH32V307枚举USB为WINUSB并且免驱
2、要识别为Win USB设备,需要枚举时增加一些描述符,windows才能自动安装驱动,而无需强制选择。有2个版本增加描述符方法,这里讲1.0版本,下面重点讲讲单片机MCU如何自动识别为WinUSB。1、只要能枚举成功为bulk设备,那么就能在设备管理器里面,手动更新驱动程序,强制选择为WINUSB设备即可!不一定要识别为Winusb设备,Win10通用。A,定义描述符,具体看这里。原创 2023-04-15 10:43:01 · 1412 阅读 · 0 评论 -
ntc 测温 单片机 C语言 查表 温度系数表 计算公式
一般大家都会查表,其实不用查表也可以计算,看下面2个公式就直接搞定了:http://labisart.com/blog/article/58原创 2017-03-16 17:15:41 · 15023 阅读 · 0 评论 -
STM8 SPI 例程 通信出错
【转载注明出处:blog.youkuaiyun.com/lanmanck】这个STM8的SPI通信也够奇葩的,跟STM32有大区别。光判断发送空和接收空的标志还不行,还必须判断忙标志位,而且读数的时候要等忙标志完毕才能读,废话少说上代码:这是一段发2字节收2字节的代码,注意如果第二个字节接收才有效的话,也需要发送第二个字节才能提供时钟进行接收:GPIO_WriteLow(GPIOA,原创 2016-06-17 10:50:48 · 4948 阅读 · 0 评论 -
STM8 仿真跑飞 swim comm timeout
【转载注明出处:blog.youkuaiyun.com/lanmanck】跑飞原因就很多了,我说说程序没问题,莫名其妙跑飞的情况。为啥说程序没问题呢?首先是编译通过啦,其次我们也正确的配置寄存器了,但是还跑飞了,蛋疼。特别是相对于STM8S103F3这些只有少的可怜的8K存储空间的单片机,真是蛋疼啊,好了不废话了,据我的经验总结一下:用IAR平台,COSMIC的很烂,劝君莫用。1、debu原创 2016-06-13 21:22:37 · 4698 阅读 · 1 评论 -
stm32 双adc 采集问题 dma数据有一个没有 adc2为0
blog.youkuaiyun.com/lanmanck原创配置那些就不说了,我这里是同步规则采样,共4通道:/* Regular ChannelÉèÖòɼ¯Ë³ÐòºÍʱ¼ä.ÉèÖóÉË«adcºó,dmaÓÃ32bit´«Êä,µÍ16bitÊÇadc1ͨµÀ,¸ß16bitÊÇadc2ͨµÀ */ ADC_RegularChannelConfig(ADC1, CH0_AD原创 2016-03-25 11:13:47 · 5756 阅读 · 1 评论 -
stm32 ADC的规则通道和注入通道混合使用 双adc dma tim触发 pwm 电机
原文地址,后面有添加:http://www.cnblogs.com/nixianmin/p/3192634.html之前完成了规则通道DMA的数据传输了,不过平时在使用ADC的时候可能就会遇到很多情况,不可能就这样简单的按规则通道来采样,DMA存储,使用数据的;可能有时候会需要立刻采样,那样我们就需要利用到注入通道了。文档关于注入通道的解释:1 利用外部触发或原创 2016-02-05 15:15:11 · 11369 阅读 · 2 评论 -
PRIMASK与 FAULTMASK,以及CPSID/CPSIE
PRIMASK用于除能在 NMI和硬 fault之外的所有异常,它有效地把当前优先级改为 0(可编程 优先级中的最高优先级)。该寄存器可以通过 MRS和MSR以下例方式访问:1. 关中断MOV R0,#1MSR PRIMASK,R0或者:CPSID i;等价上面语句2.开中断MOV R0,#0MSR PRIMASK,R0或者:CPSIE i;等价上面语句原创 2013-12-19 15:32:10 · 14283 阅读 · 1 评论 -
STM32+Keil 如何使用printf函数?
【lanmanck原创】Keil不支持Host-semi机制,即不支持直接在IDE打印字符串。那么只能通过程序向硬件串口发数据了,这样调用的时候用自定义的函数即可,也很方便,例如:void send_char_to_usart(unsigned char c){}但是可否直接使用printf函数呢?毕竟人家都做好了,我们给他定一个打印输出的接口就可以了,答案是肯定的,看ST的官原创 2013-12-19 11:07:39 · 39728 阅读 · 0 评论 -
STM32 + GCC + J-Link :开源的力量
发现Keil自带的编译器有时候优化有问题,跑得跟没优化时完全不一样。以前使用GCC,现在自然而然想再次使用GCC。搭配1:Keil+GCC+Ulink2这类的介绍也较多,主要是一个链接脚本、启动代码、IDE选项配置的问题,大家可以google一下,个人觉得搭配一般般。搭配2:emIDE+JLink纯粹的Opensource血统,这个EMIDE已经带了GCC,只需要一个JLink,然原创 2013-08-05 15:01:09 · 9365 阅读 · 3 评论 -
STM32 CPU ID,Unique ID,Flash size register的定义
【转载请注明出处: blog.youkuaiyun.com/lanmanck】注意,CPU ID和Unique ID对ST来讲是不同的定义,CPU ID是CortexM3自带的,复位值是一致的,在PM0056.pdf中有定义说明。Unique ID是每个芯片的不同ID,在RM0008.PDF中定义,像F103就在30.2节中定义。Flash size register是芯片的Flash大小,在RM原创 2013-07-29 11:11:00 · 4689 阅读 · 0 评论 -
STM32 EOC标志有问题,while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC) == RESET)
【转帖请注明出处: blog.youkuaiyun.com/lanmanck】正在使用STM32L15x的ADC,使用单次或者多次转换均只能收到一次的EOC标志和EOC中断,还收到OVR中断,手册说了,没用DMA和EOCS,不会有OVR中断的。我翻了翻手册,乖乖,有个delay寄存器要设置!!!!ST的这个ADC超级不靠谱,唉, 无语了。原创 2013-07-24 20:25:57 · 13813 阅读 · 0 评论 -
上一张STM32L15x的时钟树图,有注解
原创 2013-05-28 08:44:41 · 2787 阅读 · 0 评论 -
STM32 USB 问题汇总
汇总1:STM32的USB例程修改步骤,来自http://blog.youkuaiyun.com/cy757/archive/2010/01/01/5117610.aspx 以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正。一、usb_desc.c文件根据你程序使用的通信方式修改。u原创 2013-05-18 12:28:13 · 21960 阅读 · 3 评论 -
STM32 USART1对PWM的影响,串口影响PWM
注意,USART1和TIM1是复用的,如果用TIM1产生PWM(PA9 / PA10),则USART1不应该用该管脚,可以用PB6/PB7。原创 2013-01-23 10:06:40 · 5935 阅读 · 0 评论 -
STM32 中断向量表的位置 、重定向
【lanmanck原创】这篇文章已经说了STM32的启动过程:http://blog.youkuaiyun.com/lanmanck/article/details/8252560我们也知道怎么跳到main函数了,那么,中断发生后,又是怎么跑到中断入口地址的呢?从stm32f10x.s可以看到,已经定义好了一大堆的中断响应函数,这就是中断向量表,标号__Vectors,表示中断向量表入口地原创 2012-12-17 10:50:20 · 48679 阅读 · 1 评论 -
如何使用GNU编译器GCC来编译Cortex-M3?GCC + STM32
这里有个德国人做的样例,各位可以参考下:http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/index_cortex.html原创 2012-12-07 15:04:37 · 6068 阅读 · 0 评论 -
KEIL MDK Program Size 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释
本文来自:http://blog.chinaunix.net/uid-21227800-id-3316051.htmlKEIL RVMDK编译后的信息 Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 Code是代码占用的空间,RO-data是 Read O转载 2012-12-07 14:20:21 · 8494 阅读 · 0 评论 -
STM32 启动解析,启动代码,__main main
启动代码看这里:http://blog.youkuaiyun.com/chehlcy/article/details/5164472在启动文件我们看到了__main和用户写的main,这2个是有区别的,大概流程如下:1、复位第一条指令:Reset_Handler PROC,这里指定为 LDR R0, =__main。表示调用库函数__main,当然,我们可以在__main前原创 2012-12-03 17:16:57 · 23836 阅读 · 1 评论 -
stm32 编程用到的文档
来自:http://www.cnblogs.com/TrueElement/archive/2012/09/12/2682371.html要使用STM32,需要各种文档,其中有(以STM32F103RBT6为例):st官方资源地址:http://www.st.com/internet/mcu/product/164487.jsp1、datasheet:http:转载 2012-11-30 10:20:48 · 3836 阅读 · 1 评论