完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有老司机说CC2640有PWM,手机APP可以控制PWM输出吗? 先看一下芯片模块图,是有4路32bit定时器,32位的芯片均是通过定时器来实现PWM控制,我们也来试试: 首先把定时器测试示例宏定义打开: 看一下示例子程式: TTCDirvertimerDemo.c 好多功能: 哇,这么多,搞定一个简单点的先: 看看PWM输出功能: 设定一个定时器在IOID_0输出PWM。看看SDK有多少个定时器: 原来SDK把4路32位的定时分为了8路16位的;想了解更多关于定时器的设置可以仔细看看头文件中的说明: 还有SDK说明文档: 说得很仔细,发点时间过一下,定时器的特殊用法都有!好啦,这里不费话,来实际的: 原有TTCDriverSinglePWMSignalTest是指定在IOID_0输出PWM,与之前的试验有点冲突,我们改一下: 把IO由外面的指定,可以指定不同的IO来测试PWM的输出: 看一下原来的定时器事件: 原程式看看: 8个IO上来回变化,而且不断重复,这么多,复制一下:我们简单点: 把占空比的部分放出来,由外面的参数来决定; 把输出IO固定一下,开发板的第三个LED还没有用起来,DIO7试试: 执行完毕,又去执行,我们先关掉,第更新一次APP的数据,我们就改写一次PWM的占空比: 透传APP的自定义界面有滑条,我们来试试看: 进去把R这个滑条的最大,最小设定一下,确定;最大为什么要设0xbb80?因为这里设定满格是48000呀: 是什么东东,我们确认一下: 先把BLE收到的二个字节数据拼到一个变量里,用这个变量来作为PWM的占空比,二个文件之前要传送参数,搞成一个全局变量: 数据拼一下,方向别搞错: 拼好后,激活定时器事件: 编译看看,不行!发现没有定义变量,函数!不对呀!明明定啦! 检查一下头文件 TTCDirverTimerDemo.h 把事件宏移到头文件: 再编译看看,不行!TTCDirverTimerDemo.c原来就定义是静态的啦,先屏掉: 再编译看看,还是不行!找找! 把这二个头文件包到TTCDirverTimerDemo.c,把全局变量引进来: 还是不行?问题在哪呢? 原来SDK有坑呀!这谁挖的呀!没有区分大小写呀! 改过来! 还面还有好几个都是这样!都改改:
我再来!O啦! 仿真,没问题,联上手机,试试滑条: 滑条输出0x0000看看,示波器测试IO一直为高: 滑条输出0x2dd5看看,示波器测试IO: 滑条输出0x6aaa看看,示波器测试IO: 滑条输出0x9caa看看,示波器测试IO: 滑条输出0xbb80看看,示波器测试IO输出低电平: 反复调试滑条,可以得到每一段的数据,记得,不要超出48000的量程! |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
669 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1048 浏览 1 评论
731 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
520 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
120浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
164浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 20:05 , Processed in 0.881949 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号