- 博客(26)
- 资源 (4)
- 收藏
- 关注
原创 c指针语法随笔
char test1[] = "test";char *test2; // 空指针,存放地址0x20011604,指向地址0uint32_t test1_addr;uint32_t *test2_addr;test1_addr = (uint32_t)test1;test1_addr = (uint32_t)&test1;test1_addr = (uint32_t)&test1[0];都是取test1的首地址test2_addr = (uint32_t*)&te
2021-09-29 10:07:06 110
原创 freertos与rt-thread在应用上的一些区别
1、中断管理上的区别freertos进入临界区时,不响应优先级低于设定阈值的中断,此时若需要一个绝对的定时时间来做一些采样业务,那么采样周期就有可能被打断。若把中断优先级设定高于设定阈值,就不能使用freertos的API,但是这个中断又需要用到队列来存储数据。使用全局变量就有悖使用操作系统的初衷。rt-thread进入临界区时,仅是不切换任务,对于所有中断都是可以响应的,这对于需要绝对周期的采样任务是友好的,而且所有中断里也可以使用API函数。但是,对于临界区里的操作,也有被众多中断打断的风险,若
2021-09-27 09:58:34 5093
原创 虚拟机 主机 与 开发板 网线直连 ping通
测试环境:主机无线网络上网,虚拟机+Ubuntu,开发板与主机通过网线连接1、按照通常的步骤,虚拟机与主机之间使用bridged连接,正常是可互相ping通的,虚拟机也可正常上网,主机与虚拟机也在相同的网段内。此时将开发板的网段也修改成主机所在的网段,并且使用网线将开发板与路由器相连,即可通信ping通。2、但是,在房间里没有路由器,主机电脑使用无线网络不与路由器直连,此时开发板与主机通过网线连接,但是无法正常ping通解决:本方法结合众多网友经验,做一个记录总结。但此方法使用后,虚拟机内就
2021-09-25 23:06:10 3954
原创 Ubuntu安装配置NFS时出现portmap: No such file or directory
依据安装步骤安装Ubuntu NFS服务 apt-get install nfs-kernel-server而后配置共享文件目录后,按照步骤需要重启nfs和portmap在执行/etc/init.d/portmap restart时就出现了无法找到这个目录,无法识别 portmap: unrecognized service此时切换到/etc/init.d/目录下,查看实际安装的软件工具可以查看到,实际的nfs-kernel-server是安装成功的,但是在这个目录..
2021-09-21 23:41:54 1700
原创 Ubuntu在使用apt-get update时出现Failed to fetch
在使用Ubuntu安装工具时,sudo apt-get install xinetd 结果出现了404 not found,而后上网查询问题,建议更新软件列表,使用sudo apt-get update,但此时就出现了一堆错误,Failed to fetch在此之前,使用更新软件列表命令是没有出现过问题的。。。根据网友提供的方法:1、更换软件源,原先使用的是163的软件源,在software & updates里更换,让其自动原则slelect best server后再次尝试更新软件列
2021-09-21 23:27:25 2469
原创 FreeRTOS与RT-Thread对于中断及临界区的处理
1、中断的管理Freertos对系统中断的管理是通过操作 BASEPRI 寄存器来实现的,头文件FreeRTOSConfig.h中对管理的优先级进行了定义#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5设置freertos可以管理的最大优先级,高于优先级5的不归freertos管,低于此优先级的中断服务函数可以安全的调用freertos的api,高于该优先级的不能调用api(freertos管理不了)RT-Thread中对中断...
2021-09-18 16:56:59 1302
原创 ASR6500S(sx1262) + STM8 收发 例程
例程使用官方库,但再应用上做了部分修改调整,官方例程里是针对lorawan进行了大篇幅的操作,各种函数指针骚操作,看得脑壳疼。在官方例程的基础上,对程序进行了剥离整合,做成了最简的MAC层通信,一收一发。测试时,对应修改宏定义及底层SPI配置即可。模块使用ASR6500S,其内部lora射频芯片也即sx1262void LORA_Send(uint8_t* buffer, uint8_t size){ SX126xSetDioIrqParams( IRQ_TX_DONE,IRQ_TX..
2020-07-19 22:26:42 3237 9
原创 CC1310 基于CCS工程建立+Sensor Controller ADC
基于TIRTOS,PacketTx+Sensor Controller ADC+CCS工程建立需要的工具:1、simplelink_cc13x0_sdk_3_20_00_23 CC1310的SDK,安装后在安装目录下会有CC1310的所有例程,可以快速建立需要的工程项目2、SmartRF Studio 7射频基本配置3、Sensor Controller StudioSensor Controller Engine模块编程工具,在SCS上生成代码,添加至主工程程序中。...
2020-06-03 11:46:08 3137 2
原创 CC1310 架构组成,TX/RX+WOR嗅探过程,低功耗方法
CC1310主要由四个部分组成:主MCU、RF核、Sensor Controller Engine和一些外设主MCU搭载的是ARM Cortex-M3,它作为CC1310主要的操控部份,包含的是RTOS和 对底层外部接口的ㄧ些drivers ,应用程序跑在这个部分RF核顾名思义就是和射频相关的,它包含的是射频的一些接口,主MCU通过发送命令的方式可以控制射频进行工作,同时RF核会返回 射频工作的结果给主MCUSensor Controller Engine 是CC1310独有的一个部份,它可以独
2020-06-03 11:40:29 2385
原创 ADC 采样数据抖动
MSP430或STM32,在使用内部ADC出现的采样数据异常抖动问题采样设计:用于检测供电线路电流及电压。产品运行在两种模式下,1、低功耗静态模式(仓储态),2、全功能全速运行模式(工作态)。在仓储态下,所有外设均处于关闭状态,MCU也处于低功耗模式下(如MSP430处于LPM3模式,STM32处于STOP2模式下),仅保留低功耗定时器及ADC,ADC处于低速运行状态,检测的是工频信号,在一个工频周期内检测8个点的数据,每隔2.5ms采样一次。外部采样通道也通过MOS管进行开启关闭。AD
2020-05-22 09:23:48 20641
原创 KEIL 生成bin文件 MDK 51 ram bin 文件
使用keil做项目开发,并且需要做IAP功能时,就需生成bin文件,bin文件相比于hex文件更小,一般用.bin文件作为升级文件。keil无法像iar一样通过工程设置直接输出bin文件,需要外部命令。keil 生成bin文件方法1、C51新建记事本,编写CD Objectssrec_cat.exe source.hex -Intel -o source.bin -Binaryecho.保存记事本为hex2bin.bat// 使用srec_cat.exe 将source.he
2020-05-21 10:00:10 2063 1
原创 有功功率、无功功率、视在功率、功率因素
有功功率(平均功率)P = UI cosΦ单位为W(瓦)无功功率Q = UI sinΦ 单位为Var(乏)视在功率S=UI 单位VA(伏安)S² = P² + Q²功率因素cosΦ = P / S定义:交流电的瞬时功率不是一个恒定值,瞬时功率在一个周期内的平均值叫做有功功率,因此,有功功率也称平均功率。瞬时电压为u(t),瞬时电流为i(t),瞬时功率...
2020-04-28 15:32:22 7902
原创 sprintf 使用上的问题 数据错误
int sprintf(char *string, char *format [,argument,...]);51内核单片机+KEIL51编译器在使用AT命令初始化模块时,使用sprintf进行指令数据值整合若将数据直接使用%d转化成整形输入,数据到buf中出现错误unsigned char xdata buf_a[10] = {0}}, buf_b[10] = {0};sp...
2019-12-09 13:56:44 1976
原创 STM32 + Bootloader +射频\串口远程升级
STM32+Bootloader 通过射频\串口进行程序的远程升级in-application programming (IAP)程序可通过外部boot0,boot1引脚指定运行起始地址是sram或flash,以下为通用的flash起始运行(Vector Table Relocation in Internal FLASH)设计:1、程序复位后从app开始运行;2、接收并存储升级文件;...
2019-09-02 11:49:14 1009
原创 STM32上进行Delay延时的方法
1、使用SYStick专门的延时。void delay_us(uint32_t us){ static uint32_t delay_flag = 0; delay_flag = 1; /* set reload register HCLK = 48M */ SysTick->LOAD = (SYSTEM_CORE_CLOCK / 1000000) *...
2019-04-23 16:43:43 9681
原创 LORA 射频自组网 两级中继
基于sx1276lora模块,进行模块之间自组网,组网形式为1个集中器加多个终端。模块之间距离较远时,集中器无法直接与某个终端进行通信,其他终端本身可作为中继给该终端作为中继与集中器通信。lora调制方式,发送接收数据为星型通信方式,为自组网提供了便利。
2017-05-03 20:02:53 13897 11
原创 STM32F1 IAR工程建立
使用IAR建立STM32工程1、在工程文件组织里建立一个stm32lib文件夹用来存放库提供的一系列文件 1.1 在stm32lib文件夹下建立三个文件夹 1.2 cmsis文件下再建立以下四个文件夹 2、拷贝出STM32F10x_StdPeriph_Lib_V3.5.0库 。以下文件皆
2017-04-14 09:45:21 1514
原创 STM系列 Flash操作
STM系列的Flash操作方法及误操作笔记1、flash操作方法1.1 对stm8的flash操作#define BaseCfgaddr (uint32*)0x4000/* * 函数名称 : WriteAddrToFlash * 函数功能 : 数据写入Flash * 输入参数 : * 输出参数 : 无 *
2017-04-13 11:52:29 2972 1
原创 usart串口使用
stm32串口使用:1、printf函数调用 IAR的option设置中将printf库打开再编写printf重定向到usartn的函数 int fputc(int ch, FILE *f) { /* Place your implementation of fputc here */ /
2017-04-12 09:41:36 2382
原创 keil5 编译程序出现错误Error: L6411E: No compatible library exists with a definition of startup symbol __main
Error: L6411E: No compatible library exists with a definition of startup symbol __main.之前装过ADS,ADS与MDK冲突,依据网友提供的资料,最终的解决办法如下在我的电脑点击属性>高级系统设置>高级>环境变量>在系统变量中>新建如果我的电脑只是快捷方式则属性中不会出现环境变量,需要在屏幕空白处右
2016-02-28 14:48:16 20464 16
sx1262 asr6500s.zip
2020-07-19
rfTx_tirtos_ccs.zip
2020-06-03
srec_cat.exe keil c51生成bin文件工具
2020-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人