- 博客(52)
- 资源 (9)
- 收藏
- 关注
原创 stm32 printf 移植
根据MDK获知IAR选择即可,把他定义在main.c的main函数前面#if 0 //IAR printf USE#ifdef __GNUC__#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endifPUTCHAR_PROTOTYPE{HAL_UART_Transmit(&huart1 , (uint8_t...
2021-12-08 10:28:15
788
原创 H743教程五:stm32H743 cubumx配置驱动LTDC RGB屏幕
1.根据我前面的教程配置好时钟2.根据自己屏幕的时序配置3.根据自己的电路,配置IO管脚是否做重映射,配置管脚为最高速度4.根据屏幕手册配置时钟5.生成代码,6.背景层的显示无需SDRAM,可以用来检查LTDC是否配置成功。修改 main 函数,在LTDC初始化之前,GPIO初始化之后,打开背光:修改ltdc.c中的MX_LTDC_Init函数,设置背景色为蓝色,并卡在初始化后等待如果配置无误,则屏幕会显示蓝色参考:...
2021-08-26 11:44:11
4200
原创 H743教程一:stm32H743 cubumx时钟配置
1.根据自身电路板是否有外部晶振配置,我的电路板是有外部晶振的,一个HSE 25M, 一个LSE32.768KHz,LSE应该是用于时钟的。2.时钟 配置完成,配置一个LED测试,根据自己板子电路LED的管脚配置给他命个名3.生成代码最后点击下图生成代码4.编写测试代码最后编译运行烧录,就可以看到LED闪烁了。注意调试器的配置,生成的工程默认ST-LINK如要修改,右键工程名,点击Options完成。...
2021-08-26 10:10:44
5730
1
原创 H743教程四:stm32H743 IIC 驱动压差传感器
1.参考我前面的教程配置好时钟2.配置IIC3.发送代码接收代码这是非中断模式的发生接收
2021-08-12 17:06:57
770
原创 H743教程三:stm32H743 ucosii下的串口DMA发送和中断接收加空闲中断
1.ucosii移植参考本人上一篇:https://blog.youkuaiyun.com/winnerycy/article/details/119089995?spm=1001.2014.3001.55012.cubumx配置串口,如下图3.配置DMA4.配置中断5.生成代码后,添加空闲中断使能代码__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);//使能idle中断6.串口DMA发送代码:if(HAL_UART_Tr...
2021-08-09 18:55:29
2413
1
原创 H743教程二:stm32H743移植ucosii
1.ucosii官网下载地址:https://github.com/weston-embedded/uC-OS22.自建一个LED程序。3.往工程添加
2021-07-27 19:22:48
1206
1
原创 stm32无法烧录问题分析
1.开始能烧录,烧录程序后就不能烧录了原因:升级接口IO被代码修改应用,导致无法烧录,可以让MCU进入升级模式(拉高boot0,然后复位MCU),然后再烧录。
2021-02-19 13:56:50
11816
1
原创 STM32芯片烧录错误connecting to cpu via connect under reset failed
这几天在写stm32h7的程序,开始几天使用都很正常的,今天突然就烧录不进去了。经过各种排查查阅,终于找到了问题。原因:新的程序不知哪里修改的芯片的J-link的引脚或者烧录配置, 导致无法烧录。解决办法:拉高boot0脚,上电或者复位芯片,让芯片进入升级模式,然后再按平常的j-link烧录即可。有的朋友可能是一开始就不能烧录,那这种情况应该就要检查管脚连线,电源什么的了。...
2020-12-02 13:51:29
21519
4
原创 基于IAR和STM32的uCOS-II移植
网上基于MDK的移植数不胜数,但是基于IAR的移植几乎没有,因为官方的例程就是基于IAR的,所以移植起来很简单,没人介绍,但还是得小心谨慎,一不小心就出错,对于新手来说,查找错误可不是那么容易的。IAR建立工程,这里就不介绍。以下红色部分需要与MCU型号对应(1)在官网下载适合自己STM32的uCOS-II库,连接如下,我用的MCU是STM32F103VCT6,属于大容量的,所...
2019-12-04 17:15:18
1428
转载 ZLG7290应用注意事项及检测步骤
建议从下面的步骤进行检查。使用这个芯片的前提:硬件:您的数码管是共阴管;软件:必须用中断方式处理按键,触发方式要设置为--下降沿触发,在中断服务程序中建立标志位后,在主循环中再作处理。按下面步骤检查:1.先查后7290的硬件情况:上电后,VCC工作电压在3.3V到5.5V之间?晶振是否已经起振(4MHz左右的晶振,13pf左右的电容)?RST引脚电平为高电平?没有问题请...
2019-09-10 17:23:36
1802
原创 AVR单片机产生占空比可调PWM波形
设置TC1为快速PWM方式,输入频率为1MHz时,在PD4和PD5输出非反相的PWM,频率1M/100=10KHz,占空比通过设置OCR1A和OCR1B来实现: PORTD=0x00; DDRD=0x30; TCCR1A=0xA2; TCCR1B=0x19; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; //ICR设置PWM频率 ICR...
2019-08-13 10:55:00
2509
转载 STM32F103的AD采样非线性问题
我发现STM32F103的AD有非线性问题,AD转换数值非线性区间为255-270,1023-1043,1279-1293,3048-3072,3568-3584,我做了很多次验证,可以重复,测量了8个通道,大家可以验证下,...
2019-05-28 15:22:55
1739
转载 演唱会荧光棒场控原理
1.什么叫“场控”?【这篇文章介绍了主要的 UHF 芯片和背景内容.http://yenwen-sci.blogspot.com/2013/01/led_5.html我拿到的是鸟巢售出的版本 v2.2, 我说一下上面的主要芯片两枚IC靠下的 SOP8 是 MCU, 被打磨过了, 分析确认是 Microchip PIC12F508/509http://ww1.micr
2017-12-11 01:15:44
10094
3
原创 avr_001_用Atmel6.2建工程的问题
1.用Atmel 6.2 的建工程,cpu选 A1U2.优化可以用OS3.条码初始化时,启动串口要延时1s,或者重发两次设参数(这个要加清空错误动作,因为第一次基本有错)4.温控出错是软件优化导致的吧,反正atmel6.2的不会有问题,旧版本优化等级用O1都不行。5.在工程设置中定义宏:F_CPU=32000000UL6.在Global.h中添加头文件:#include 7
2017-12-10 22:11:56
300
转载 stm32_018_stm32自身唯一ID读取
转载自:http://blog.youkuaiyun.com/yuan1125/article/details/7653767产品唯一的身份标识非常适合:● 用来作为序列号(例如USB字符序列号或者其他的终端应用)● 用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性。● 用来激活带安全机制的自举过程96位的产品唯一身份标识所提供的参考
2017-12-08 19:41:39
1351
1
转载 stm32_017_stm32端口复用和重映射
装载自:http://blog.youkuaiyun.com/w_h_h521/article/details/51858787首先来说下什么是端口复用。STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。其实说白了,简单易懂的说,就是某些普通的外设引脚也可以用
2017-12-08 19:15:01
458
原创 stm32_016_配置stm32在SRAM中调试运行
1.选择对应的cpu2.修改目标地址3.添加宏定义4.设置debug选项,Load Application at Startup处,如果勾选了,就不能单步调试,程序会直接运行。这里关键就是要加入一个RAM.ini文件,作为RAM的配置文件,是起到复位指针作用。这个文件是每次不同的工程都要修改,更改方框中的工程名。这个文件可以自己记事本写,
2017-12-08 18:16:34
2467
转载 stm32_013_STM32printf()函数重定向到串口
在STM32串口通信程序中使用printf()函数发送数据非常方便,但是需要先进行简单的配置,下面介绍两种配置方法。方法一、对工程属性进行配置第1步:在main.c中包含"stdio.h” (标准输入输出头文件);第2步:在main.c文件中重定义fput()这个C标准库函数(因为printf()在C标准库函数中实质上是一个宏,要调用到fputc()这个函数);
2017-12-08 01:23:29
522
原创 stm32_011_stm32位绑定操作
1.其实位绑定并不需要我们去做绑定操作,他是本身就联系在一起的了,我们只需计算出他的地址就可以直接操作了。2.系统只对一下两组地址做了位绑定,也就是只有在一下两组地址内的才可以进行位绑定操作:------SRM区: 0x2000 0000 -- 0x200F FFFF------片上外设区: 0x4000 0000 -- 0x400F FFFF3.对应地址的计算办法:-----
2017-12-07 18:54:22
753
原创 stm32_008_mdk创建工程注意事项
一。工程用自带的库可以使工程在变换mdk版本的时候不受库版本的影响而编译出错,方法如下:1.把库文件拷贝到工程目录下2.在工程里面添加库目录,并添加需要的.c文件3.在设置中添加头文件路径二。新建工程的时候会提示是否添加启动文件,点击是就好;也可以点击否,这样的话需要自己添加启动文件。
2017-12-07 01:49:52
521
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人