![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
Wang_yf_
这个作者很懒,什么都没留下…
展开
-
485串口代码
原代码: u8 CA_test[10]={0x90,0xeb,0x01,0x01,0x02,0x00,0x55,0xaa,0x00,0x00}; u16 i=0; for(i=0;i<10;i++) { CAMERA_RCV_OFF;//发送模式 while( (USART_GetFlagStatu原创 2016-10-25 16:15:47 · 2214 阅读 · 0 评论 -
LWIP-MQTT:CONNECTION_REFUSED_NOT_AUTHORIZED
MQTT连接失败,报错:CONNECTION_REFUSED_NOT_AUTHORIZED;用户名和密码没有通过验证,新版本mqttconnect()中没有用户名和密码的代码,添加后就可以正常连接了。原创 2018-02-06 17:30:15 · 5779 阅读 · 0 评论 -
stm32中字节对齐问题(__align(n),__packed用法)
ARM下的对齐处理 from DUI0067D_ADS1_2_CompLib 3.13 type qulifiers 有部分摘自ARM编译器文档对齐部分 对齐的使用: 1.__align(num) 这个用于修改最高级别对象的字节边界。在汇编中使用LDRD或者STRD时 就要用到此命令__align(8)进行修饰限制,来保证数据对象是相应对齐。 这个修饰对象的命令最转载 2017-06-20 16:58:46 · 7545 阅读 · 0 评论 -
STM32L152 STOP模式
目的配置芯片进入停止模式,RTC唤醒中断唤醒。完成情况成功进入停止模式4S,然后由RTC唤醒,ADC、日历、串口等功能成功启动。步骤1,进入低功耗模式相关配置关闭高速时钟; RCC中关闭所有外设时钟; 关闭外设使能;2,唤醒相关配置要使能 RTC 唤醒中断,需按照以下顺序操作: 1. 将 EXTI 线 20 配置为中断模式并将其使能,然后选择上升沿有效。 2. 配置 NVIC 中的 RTC_原创 2017-02-08 15:24:32 · 5277 阅读 · 4 评论 -
hardfault排故记录01
平台:CPU :STM32f103rct6 编译器 :MDK5.20; 调试工具:ULINK2现象:主板上电后链接ULINK,SW接口可以链接、可以下载程序,偶尔出现cannot access target shutting down debug session错误提示。 程序运行后,进入hardfault错误处理函数。分析寻找产生fault原因1 Cortex-M3/4的原创 2017-02-08 13:02:54 · 628 阅读 · 0 评论 -
cortex-m3 各种引发fault的统计
引发各种fault的各种情况统计,不断更新原创 2016-12-02 16:23:41 · 633 阅读 · 0 评论 -
Cortex-M3内核寄存器统计
Cortex-M3内核寄存器相关知识,不断更新。原创 2016-12-05 12:01:20 · 1284 阅读 · 0 评论 -
函数形参的传递
1,传递变量:2,传递数组:4,传递结构体与共用体:结构体和结构体变量是两个不同的概念:结构体是一种数据类型,是一种创建变量的模板,编译器不会为它分配内存空间,就像 int、float、char 这些关键字本身不占用内存一样;结构体变量才包含实实在在的数据,才需要内存来存储。方法一:使用全局变量:在keil5.20软件中,结构体全局变量可以这么用: 1,在.h文件中定义结构体类型:(注意是定义了一原创 2016-11-18 17:21:30 · 1128 阅读 · 0 评论 -
UCOSII_进入临界段方式:OS_CRITICAL_METHOD
进入临界段方式:OS_CRITICAL_METHOD==?//OS_CRITICAL_METHOD = 1 :直接用处理器开关中断指令开关中断,这种没有现场保护的方式造成无法进行临界区嵌套,如果有两层临界区,那么里层退出保护时候直接开了中断,而外层的临界区还没有结束。(关几次中断都是关中断,开一次中断就全开了)//OS_CRITICAL_METHOD = 2 :这种方式先把中断状态压入堆栈保存起来原创 2016-11-17 16:19:13 · 1708 阅读 · 0 评论 -
函数OSMemCreate()理解,二级指针,二维数组,强制转换
建立一个内存分区的步骤是先建立一个二维数组,二维数组的第一维是块数,第二维是块的大小,二维数组把一块连续的内存占了(虽然占了,但是并不能有详细的管理),然后把这个二维数组的地址给OSMemCreate()函数,进行一系列设置,方便系统对这块连续的内存进行管理。函数作用:把二维数组与内存控制块联系起来,行程内存分区;原创 2016-11-16 17:36:56 · 2488 阅读 · 1 评论 -
STM32 PWM移植排故
1,现象硬件更新后,PWM波没有输出。2,思路1,GPIO设置通用推挽输出用定时器产生方波,用示波器观察是否正常产生方波。如果正常,硬件无问题,GPIO无问题。 2,定时器设置计数中断,在中断处理函数设置断点,观察能否进入断点,如果能,则定时器模块无问题。芯片有相应定时器。 3,检查配置流程。3,原因1,GPIO设置1)管脚分配注意是否有remap,需要remap的是否设置,; 2)GPIO设原创 2016-10-31 10:57:19 · 683 阅读 · 0 评论 -
指针知识
指针相关知识原创 2016-10-19 15:34:19 · 499 阅读 · 0 评论 -
STM32 多个定时器PWM波输出频率不同。
问题:STM32F4芯片,TIM1,TIM2,TIM3,TIM4输出PWM波,相同设置参数下TIM1频率是其他定时器两倍。原因:因为TIM1和TIM8的内部时钟源总线与其他定时器不同,APB1与APB2的最高频率不同,正好相差一倍。原创 2018-02-06 17:33:32 · 3985 阅读 · 1 评论