自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 中科蓝讯AB536X系列芯片PWM使用说明

AB536X 支持 3 个定时器(Timer3,Timer4,Timer5,)PWM 输出,每个定时器支持 3 路 PWM 输出 ,分别是 PWM0 ,PWM1,PWM2,其中每个定时器支持 3 路周期相同,可设置不同占空比的 PWM 同时输出。AB536X 每组 timer定时器 对应 PWM IO 说明:Timer3:G1: PWM0->PB0 PWM1->PB1 PWM2->PB2G2: PWM0->PB3 PWM1->PB4 PWM2->PB5G

2020-11-28 13:35:36 3904 1

原创 IIC总线--基础知识及应用

1 IIC总线概述I2C总线两线制包括:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。总线必须由主机(通常为微控制器)控制,主机产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。IIC总线特征:同步串行半双工(同一时刻只能是一种身份)2 IIC总线拓扑图SDA:双向串行数据线,数据是一位一位传输,既可以从主机发送到从机,也可以从从机发送到主机SCL:时钟线(单向),驱动数据线SDA的信号由时钟线SCL提供,只能由主机发送,从机接收主机:主机

2020-07-23 00:04:55 1801

原创 中科蓝讯AB5325A音箱回连慢解决方法

SDK版本:AB532X_S9170解决方法:未回连的状态下,在程序中调用回连函数程序处理:在1秒调用消息中添加判断,是否有回连信息bt_nor_get_link_info(NULL和蓝牙是否处于配对状态bt_nor_get_link_info(NULL)。两者都满足则调用一次回连函数。直到回连上设备。 case MSG_SYS_1S: bt_send_msg(BT_MSG_HFP_REPORT_BAT); if(bt_nor_get_link_info(NULL) &a

2020-05-18 11:04:30 1510

原创 中科蓝讯蓝牙耳机SDK解析

SDK结构1.1 SDK目录结构└─app ├─platform │ ├─bsp //底层外设相关 │ ├─functions //功能相关 │ ├─gui //显示功能 │ ├─header │ └─libs └─projects //调用API ...

2020-03-04 15:53:36 13551 49

原创 从5376A看中科蓝讯系列IC命名迭代规律

中科蓝讯的蓝牙芯片的命名是带有一定规律的,AB53XYZ为模板。例如现在(2020.1月)主力耳机芯片AB5376A  AB53XYZ  AB5376AX:  X代表芯片的代级,迭代规律不详例如76A是56A的下一代,76A可以在硬件基础不变的前提下替换56A。23B是03B的下一代,同样ping对ping替换。代级提升往往优化设计,增加功能,一旦出现芯片升级,都需要帮客户转新的IC。...

2020-01-22 11:16:04 4293

转载 丢失msvcr120_clr0400.dll解决办法(WIN 7)

  打开软件时候提示丢失msvcr120_clr0400.dll,开始以为是Microsoft Visual C++ 2013 Redistributable 没安装,安装后还是找不到。后来发现这货是.net 里面的,安装.net 4.x.x就好了。...

2020-01-07 23:49:57 3863

原创 中科蓝讯系列蓝牙IC编译工具安装

1.2.1 安装codeblocks文件夹01-tools\02-compile\编译环境下找到codeblocks-17.12-setup.exe双击即可安装。或下载文末资源找到codeblocks-17.12-setup.exeNextI Agree默认选项-next默认选项 – Install安装中安装后选完成到这就完成了编译工具的安装,先别打开编译工具,想要...

2019-12-13 00:18:47 3149 1

原创 中科蓝讯系列IC下载工具安装及介绍

  蓝讯的开发工具很齐全,图像化编程界面对开发者十分友好,蓝牙耳机的功能大部分可以通过图形化编程工具完成,开发效率极高。开发蓝讯系列蓝牙方案主要的开发工具有蓝讯的烧写工具Downloader,编译工具codeblock,编辑器source insight等  下面讲的是下载工具的安装。1.1 烧写工具Downloader的安装文件夹Downloader_v1.2.3直接双击Downloade...

2019-12-07 00:21:13 6119 8

原创 中科蓝汛--AB5335系列 蓝牙信号超出距离的处理

1.超出距离的消息处理会执行到下面这个函数的消息处理void bt_emit_notice(uint evt, u32 param)case BT_NOTICE_LOSTCONNECT: connect_lost_flag = 1; piano_res_play(T_WARNING_NEXT_TRACK, 3); //“滴”一声 bre...

2019-11-29 00:16:02 1737

原创 中科蓝讯 --AB532X系列TWS的接口调用

TWS的按键操作:长按mode按键TWS配对,长按连接手机/回连手机if(xcfg_cb.bt_tws_en && xcfg_cb.bt_tws_pair_mode == 2){ if(bt_tws_is_connected()) { } else { bt_tws_search_slave(); printf("bt_tws_search_slave\n")...

2019-11-28 23:57:10 2363

原创 中科蓝讯532X系列PWM的使用

实例:PB2实现呼吸灯初始化在pwm_port_inin函数下GPIOBDIR &= ~BIT(3); //DIR OUT GPIOBDE |= BIT(3); //数字 IO 口要设置上. GPIOBFEN |= BIT(3); //function io enable FUNCMCON2 = (2 << 8); // TIMER3的G2 pwm map ...

2019-10-27 00:29:07 1989 1

原创 中科蓝讯蓝牙方案开发--解决音箱开机噗噗声

  解决音箱开机噗噗声,功放IC为LTK5128 2018和8871。都是1脚低开高秒,3脚AB类/D类转换,其他模式高电平  在初始化后,mute功放和切换AB类。 LOUDSPEAKER_MUTE_INIT(); AMPLIFIER_SEL_INIT(); LOUDSPEAKER_MUTE(); AMPLIFIER_SEL_AB();在播报提示音之前恢...

2019-10-21 23:38:16 4218 1

原创 中科蓝讯蓝牙方案开发--调通话汇总

调通话汇总通话问题1:环境噪音大,耳机打电话给对方听到很多杂音。调环境噪音阈值,MIC模拟增益通话问题2:打电话给对方,对方听到有回音蓝牙耳机:蓝牙耳机几乎不会存在回声问题,如果觉得听到像回声,但是有点断断续续,可以试着捂住耳机,此时如果耳机彻底没有声音,可以判断为是天线问题。音箱:音箱有回音的话,一般是因为音箱通话的声音被咪头采样,并传到对方的喇叭,一般需要采用ALC算法。大耳包...

2019-10-21 10:52:39 8425

原创 中科蓝汛蓝牙耳机AB5356A/AB5376A进入CBT模式

56A进入CBT模式:  配置工具默认是这样的:  配置工具只支持5击进入CBT模式。客户需求是3击,进入CBT模式后蓝灯500ms周期闪烁下面是实现过程。  在消息处理msg_bt.c中添加三击处理case KTH_PLAY_PWR_USER_DEF: ///三击进CBT测试模式// printf("KTH_PLAY_PWR_USER_DEF\n"); ...

2019-10-18 00:30:27 5450

原创 linux系统编程-- 标准IO

标准IO:标准IO在应用层:比文件IO高级一点,在windows也可以用标准IO指C语言中提供的标准输入输出库文件所包含的函数。即stdio.h文件中声明的函数,都是标准输入输出函数。printf scanfsprintf sscanffprintf fscanfputchar getcharputs getsputc getcfputs fgets...

2019-09-21 00:25:21 197

原创 linux系统编程--文件IO

文件操作inux中一切皆文件!只要掌握了文件操作,即可对linux下所有资源进行操作。文件操作就是对文件进行 读 写 操作。对文件进行操作时,文件名是不能明确指定一个文件空间的,需要根据文件名首先找到对应inode号。一个inode号对应着一个固定的文件空间,对文件操作时,使用inode号进行操作,才能保证操作无误!对一个文件基本的操作,只有:读、写读:把文件内容读取出来,查看文件内...

2019-09-17 23:45:13 307

原创 广告拦截Adblocker Plus安装

浏览器:chrome(谷歌浏览器)理论上360浏览器也可以这样做。还没有试过!方法:安装一个chrome插件:Ads Killer Adblocker Plus安装过程:方法1:通过谷歌应用商场下载(前提是能访问谷歌)不能访问谷歌见方法2.1.访问这个链接https://chrome.google.com/webstore/category/extensions?hl=zh-CN...

2019-09-08 19:03:23 2179

原创 linux编程规范--main函数

linux编程规范linux系统中应用程序编程还是标准的C语言编程!linux系统中所有的命令都是可执行程序!linux命令使用时,可以加参数。linux系统中应用程序编程规范:main函数可以支持外部传参!#include <stdio.h>int main(int argc, char* argv[]){ return 0;}形参列表:argc:主函数接收...

2019-09-06 00:17:17 321

原创 make工程管理器和Makefile

一文入门makefile

2019-09-05 00:23:14 332

原创 LINUX系统编程:静态库和动态库的使用

  通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。自定义库函数源文件add.c 代码清单int add(int ...

2019-09-01 23:55:14 400

原创 GCC编译器查看C语言编译过程

编译过程:预处理:预处理器将对源文件中的宏进行展开。编译:编译器gcc将c文件编译成汇编文件。汇编:汇编器as将汇编文件编译成机器码。链接:将目标文件和外部符号进行连接,得到一个可执行二进制文件。以一个很简单的01_test.c来探讨这个过程。#include <stdio.h>#define NUMBER (1 + 2)int main(void){ int...

2019-09-01 17:15:18 1955

原创 重温C语音 | 链表1(静态链表)

链表概述链表的作用:当一些成员数量不缺定的时候,希望可以通过上一个结点而找到下一个结点。需要使用链表。链表在哪些地方进行应用?节点的构成:数据域+指针域。链表的物理拓扑结构:链表的节点表示:结构体表示。示例:struct POINT{ //数据域 int vara; char varb; float varc; double vard; //指针域 struct...

2019-08-28 00:18:30 188

原创 如何下载搜狗翻译读音

  在做蓝牙音箱的时候会需要用到一些mp3格式的提示音,找例如蓝牙模式这样的提示音是很艰难的事情。然而,一些翻译网站往往会能找到这样的提示音,但是呢,一般都是不能直接下载的,下面介绍记录一个下载的方法。1.打开搜狗翻译https://fanyi.sogou.com/?fr=websearch2.输入想要下载的语音文字比如我要下载蓝牙模式的英文发音:3.打开网页开发者模式:我用的是谷歌...

2019-08-25 16:51:59 1984

转载 C语言中0UL和1UL表示什么意思?

0UL--------无符号长整型01UL--------无符号长整型1如果没有UL后缀,则系统默认为 int类型,即,有符号整形应用:#define BIT(n) (1ul << (n))

2019-08-23 16:10:10 3588

原创 PADS打开.asc文件

1.先打开 PADS Layout2.设置板层3.导入.asc文件即可

2019-07-29 16:23:47 9715 2

转载 重温C语言 | 结构体应用(C语言类的实现)

函数指针一般的函数指针可以这么定义:表示一个指向含有两个int参数并且返回值是int形式的任何一个函数指针. 假如存在这样的一个函数:int add2(int x,int y){ return x+y;}那么在实际使用指针func时可以这样实现:func=&add2; //指针赋值,或者func=add2; add2与&add2意义相同printf("fu...

2019-07-29 00:40:13 1165

转载 重温C语言 | 指针基础(指针与内存)

C语言在编译之后会以三种形式使用内存静态/全局内存静态/全局内存静态声明的变量分配在这里,全局变量也使用这部分内存。这些变量在程序开始运行时分配,直到程序终止才消失。所有函数都能访问全局变量,静态变量的作用域则局限在定义它们的函数内部。自动内存这些变量在函数内部声明,并且在函数被调用时才创建。它们的作用域局限于函数内部,而且生命周期限制在函数的执行时间内。动态内存内存分配在堆上,可以根...

2019-07-28 23:30:35 557

原创 重温C语言 | 结构体

结构体:由一系列具有相同或者不同的数据类型的数据组成的集合,数据彼此之间有联系数组:由一系列具有相同数据类型的数据组成的集合,数据之间彼此独立,数据意义相同---->数据类型相同数组的特点:数据多数据的意义一样,---->数据类型一样数据彼此独立,互不影响可以拆分为基本数据类型结构体的特点:数据多数据意义不一样—>数据类型不一样,也有可能一样数据彼此有...

2019-07-14 23:44:59 620

原创 重温C语言 | 字符/字符串操作函数

字符/字符串输入输出函数输入输出一个字符格式化输入输出函数 scanf() printf函数 %cgetchar() putchar() 函数输入输出一个字符串格式化输入输出函数 scanf() printf函数 %sscanf函数输入一个字符串的时候,只能输入一个单词,一旦输入空格,或者tab键则停止获取,会在键入回车键之前系统会自动加’\0’printf函数输出一...

2019-07-13 00:22:09 256

原创 重温C语言 | 字符数组和字符串

符数组的定义char 数组名[长度]char 表示数组元素的类型为字符类型,存储字符数组名表示数组首元素的地址字符数组的主要用途---->存储字符串,字符数组的初始化1)字符数组可以进行部分初始化,系统默认未被初始化的元素赋值为0-------’\0’空字符2)初始化时,长度可以省略不写,分配的空间的大小由初始化列表中的元素来决定3)字符数如果只定义不赋值,则系统默认为随机值...

2019-07-12 00:34:18 343

原创 重温C语言 | 二维数组

二维数组:矩阵的表示形式多个一维数组组成二维数组二维数组的定义:定义格式:数据类型 数组名[长度1] [长度2]数据类型:表示数组中元素的类型长度1 : 表示二维数组的行数长度2 : 表示二维数组的列数说明:表示由长度1个一维数组构成二维数组每个一维数组元素的个数是长度2...

2019-07-10 00:29:09 267

原创 重温C语言 | 一维数组

数组的概念数组:由一系列具有相同数据类型组成的集合  1)数据多(数据个数>=2)  2)数据意义一样,----->数据的类型一致  3)数据彼此独立,互不影响  元素:数组中的数据,用下标表示元素 下标:数据在数组中的排列顺序,从0开始排序一维数组的定义 初始化数组的定义数组的定义格式数据类型 数组名[长度]; 说明:数据由数组元素的数据类型决定 数组名...

2019-07-08 00:16:50 638

转载 CPrimerPlus | C语言执行过程

C编程的基本策略是  用程序把源代码文件转换为可执行文件(其中包含可直接运行的机器语言代码)   典型的C实现通过编译和链接两个步骤来完成这一过程。 编译器把源代码转换成中间代码, 链接器把中间代码和其他代码合并, 生成可执行文件。 C 使用这种分而治之的方法方便对程序进行模块化, 可以独立编译单独的模块, 稍后再用链接器合并已编译的模块。 通过这种方式, 如果只更改某个模块, 不必因此重新编...

2019-07-07 17:24:51 454

原创 WIN10软件开机自启动设置(基于win10系统,不依赖第三方软件)

开机启动项设置教程第一步 win+R打开运行窗口,输入命令msconfig,回车第二步打开系统配置,切换到"启动"选项卡第三步打开任务管理器第四步单击选中想要禁止或者开启的软件已启动代表开机时软件会自动启动已禁用代表开机是软件不会子启动添加开机启动项第一步 win+R打开运行窗口,输入命令shell:startup,回车把要添加自启动的应用程序的快捷方式复制到该目录就可...

2019-07-07 14:00:40 17644

原创 vim编辑器的简单使用

简介vim编辑器是linux系统标配的一个内部的编辑工具。vim编辑器仅仅只有编写文件的功能,不能编译程序!vim编辑器使用方法:vim <文件名>功能:文件存在,则打开文件,进行编辑。文件不存在,则创建文件,开始编辑。当打开一个文件时,首先进入到命令模式!vim编辑器的操作模式vim编辑器有三种操作模式:命令模式不能往文件中输入内容,只能使用命令操作文件。插入模...

2019-07-07 11:03:47 153

原创 C语言特殊的宏定义(C语言打印时间日期,文件名,所在行)

LINE 表示正在编译的文件的行号FILE 表示正在编译的文件的名字DATE_ 表示编译时刻的日期字符串,例如: “25 Dec 2007”TIME 表示编译时刻的时间字符串,例如: “12:30:55”举例:#include <stdio.h>int main(void){ printf("%s\r\n",__FILE__); prin...

2019-07-06 00:48:48 4823

原创 C语言/单片机工程师 面试推理题

问题:假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。解答:先把六升的水壶装满,再倒进五升的水壶里面,这样子的话六升的水壶里面还剩一升水。然后再把五升水壶里面的水倒掉,把那一升水倒进五升的水壶里面,再把六升的水壶里面装满水。然后再把六升水壶里面的水倒进五升的水壶里面,装满为止,六升的水壶里面就还会再剩两升水,再把五升的水壶...

2019-07-02 23:41:49 2297

原创 C语言面试常见题型:char类型溢出

char a = 300;printf(“%d\n”,a);结果是44思路:默认char类型是有符号类型,数值范围是-128 – 127转化为带符号二进制的话[+300]原=0 1 0010 11009//正数原码符号为0,负数为1[+300]补=0 1 0010 11009溢出后丢掉高两位,补码变为0010 1100 (44)char b=400;printf(“%d\n”...

2019-07-01 22:19:31 2368 8

原创 UCOSII操作系统的任务间通信

前言在主程序里面做i++(i=10),在某个中断服务函数里面做i–,会出现主程序刚取出i的值得时候被中断打断,在中断里面做了i—(写回去的值为9),返回到断点后,主程会对i(已经取出的值)做加1操作,然后写回去(最终i=11;).------在主程序里面在对i操作之前先把中断关了,等操作完后再打开中断。出现以上情况的原因是—打断。在Ucos中不可避免的会出现以上打断问题。因为ucos是以优先级...

2019-06-25 23:19:25 3136

原创 嵌入式实时操作系统UCOSII

何谓操作系统1.什么是操作系统?操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。介于APP和硬件之间。2. 为什么要用操作系统?1)相比裸机,可以实现更加复杂的功能。2)屏蔽硬件。使得上层应用APP的移植性更好。常见操作系统常见操作系统安卓、IOS、Windows、Linux、塞班、V...

2019-06-25 23:06:02 3430

蓝讯蓝牙SDK,仅供学习使用

蓝讯蓝牙SDK,仅供学习使用

2023-11-06

STM32F407ZGT6串口通信demo2

使用串口中断,在中断完成收发,提高效率。但是有个问题,使用串口中断后并不知道串口接收在什么时候接收完成,需要在串口调试助手添加特殊结束符作为发送结束标志,当单片机接收到结束符,表示接收完成

2019-02-18

STM32F407ZGT6串口通信源码

STM32F407ZGT6串口通信讲解,通过串口助手发送一个字符到单片机,单片机收到后发送一个到串口调试助手。

2019-02-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除