[N32WBxxx] 【N32WB03X】初识

[复制链接]
2314|15
 楼主| yangjiaxu 发表于 2021-12-20 16:46 | 显示全部楼层 |阅读模式
本帖最后由 yangjiaxu 于 2021-12-20 16:49 编辑
国民技术,是中国安全芯片、通用MCU领军企业和国家级**技术企业,之前好像用过国密的身份*读卡器,也不知道这俩是不是一家,哈哈哈,不过近几年国产芯片崛起,真的给我很大的感触,国家终于可以与国外的科技抗衡了。
这两年芯片缺的很,之前用ST,后来用航顺,中科芯,依次缺货,再后来选择了GD和华大,也是货源紧张,然后我听说国民技术也有MCU,而且性价比还很高,所以一直有所关注,不负有心人,国民来21ic了,欢迎~~~,之前有幸参加21ic和国民举办的活动,获得了一块开发板,不错,终于可以和国民技术近距离的了解了,今天收到板子了,紧忙开箱瞅一瞅。
001.png

盒子很大气,上面印着国民技术,打开是一块开发板和一条数据线,该说不说,这条数据线一点儿用都没有,蓝牙板的接口是Type-C,发的却是miniUSB,不过发了咱就收着,我想国民也不能往回要了吧,哈哈哈哈;接下来咱们看看开发板。
002.png

蓝色开发板,有品位,看板子布局,可以看出中规中矩,MCU是支持蓝牙5.1的,采用QFN封装,外围电路看着还算是简洁,元件不是很多,以后设备小型化应该不是问题,天线采用2种制式,一种是IPEX外接出来,一种是板载PCB的天线,都可以,官方默认用的板载PCB方式,中间有一些短路帽,这些短路帽是仿真器与N32WB03X连接的,方便工程师可以快速调试。 板载4个轻触按键,一个复位,一个唤醒,2个用户按键,两个LED指示灯,右侧LQFP封装的是板载仿真器 ,采用的是CMSIS-DAP开源协议,速度很快,非常给力。本板的主要是接口用了Type-C,非常得意这个接口,五星好评。

接下来是环境搭建,我看官方支持keil,好嘛,这不栽我手里了嘛,keil的话就需要安装pack支持包,官方也提供了,双击一路next就可以。在官方提供的资料之中,选择第5项。
003.png
打开一个蓝牙例程,然后在通过快速指南进行快速学习。很快就能上手了。接下来我做了个小小的项目,通过\5-软件开发套件(Software Development Kit)\N32WB03x_SDK V1.0.0\projects\n32wb03x_EVAL\ble\rtdss 例程,开启本帖的精彩之处。

首先打开文档,UG_N32WB03x 数传例程指南V1.0.pdf,看看蓝牙函数的功能和结构。知道收到数据的函数是app_usart_tx_fifo_enter;
004.png

接下来是工程,使用keil打开即可,看了一下程序结构,OK,没什么问题,主要是我们需要获取蓝牙收到的数据,然后通过程序解析实现对LED的控制。

主要修改代码如下:

  1. uint8_t app_usart_tx_fifo_enter(const uint8_t *p_data, uint16_t len)
  2. {
  3.     uint32_t in_len, out_temp;
  4.     //store data in fifo
  5.     NS_LOG_DEBUG("%d,%d,%d\r\n",len,usart_tx_fifo_in,usart_tx_fifo_out);
  6.     out_temp = usart_tx_fifo_out;
  7.         
  8.                 if(p_data[0] == 0)
  9.                 {
  10.                         LedOn(LED1_PORT,LED1_PIN);   
  11.                 }
  12.                 else if(p_data[0] == 1)
  13.                         LedOff(LED1_PORT,LED1_PIN);   
  14.                
  15.     while(len)
  16.     {
  17.         if(usart_tx_fifo_in >= out_temp )
  18.         {
  19.             in_len = USART_TX_FIFO_SIZE-usart_tx_fifo_in;
  20.             if(in_len > len)
  21.             {
  22.                 in_len = len;
  23.             }
  24.             memcpy(&usart_tx_fifo_buf[usart_tx_fifo_in],p_data,in_len);
  25.             len = len-in_len;
  26.             p_data +=  in_len;
  27.             usart_tx_fifo_in = (usart_tx_fifo_in + in_len)%USART_TX_FIFO_SIZE;
  28.             
  29.         }
  30.         else if(usart_tx_fifo_in < out_temp )
  31.         {
  32.             in_len = out_temp-usart_tx_fifo_in-1;
  33.             if(in_len > len)
  34.             {
  35.                 in_len = len;
  36.             }
  37.             memcpy(&usart_tx_fifo_buf[usart_tx_fifo_in],p_data,in_len);
  38.             len = len-in_len;
  39.             usart_tx_fifo_in = (usart_tx_fifo_in + in_len)%USART_TX_FIFO_SIZE;
  40.             
  41.             //fifo full,drop the rest data
  42.             if(len)
  43.             {
  44.                 NS_LOG_WARNING("F:%d,%d,%d\r\n",len,usart_tx_fifo_in,out_temp);
  45.             }
  46.             
  47.             break;
  48.         }
  49.     }
  50.    
  51.     //  ble treaming cut timer, active usart send after it.
  52.     ke_timer_set(APP_CUSTS_TEST_EVT, TASK_APP, 50);
  53. //    if(!usart_sending)
  54. //    {
  55. //        app_usart_tx_process();
  56. //    }
  57.     return len;
  58. }
修改完成之后,编译成功,下载到开发板之中。之后,通过手机随便下载的蓝牙调试助手,我习惯使用“蓝牙调试器”,在这里安利给大家,非常好用的一款调试器。选择蓝牙为NS_RDTSS,参数按我这个配置就可以了。配置好之后,点击右侧的加号进行蓝牙连接。
005.png

蓝牙连接成功之后,开发板的LED2即可亮起,说明连接成功了。接下来通过我设置的,蓝牙收到00打开LED1,01即关闭LED1,接下来看看效果。
006.png

LED1亮起,可以看到蓝牙收到00数据;
007.png

LED1关闭,可以看到蓝牙收到01数据;
008.png

这是从串口助手截取到的数据

最后,由于手机只有一个,而且视频录得比较潦草,我就不发社区了,发在了咱们21ic的群里了,最后,感谢21ic与国民技术的给力活动,让我可以接触到国民技术的新产品,非常不错,开发起来不是很麻烦,上手很快,也希望大家也来试一试哦,这是一款非常给力的蓝牙方案的开发板哦。



评论

@LZH休 :用手机的蓝牙调试助手发送的  发表于 2023-3-8 09:53
请问用什么发送00数据呢  发表于 2023-3-7 21:53
6552918 发表于 2021-12-20 17:49 | 显示全部楼层
支持一下!!!!
yljon 发表于 2021-12-20 20:22 | 显示全部楼层
顶一下
N32BLE 发表于 2022-1-20 08:28 | 显示全部楼层

感谢网友的使用分享,开发过程中有任何问题,随时发帖交流;也诚邀您参加年终活动,丰厚现金大奖等你来拿:https://bbs.21ic.com/icview-3194406-1-1.html
laocuo1142 发表于 2022-1-20 10:28 | 显示全部楼层
不错啊,板子也挺好

评论

欢迎测试使用国民技术蓝牙芯片。多多分享使用的体验和实验。  发表于 2022-1-21 09:08
onlycook 发表于 2022-1-21 10:30 来自手机 | 显示全部楼层
不错,挺好的板子
carol888 发表于 2023-3-7 10:26 | 显示全部楼层
pack支持包,官方也提供了,双击一路next就可以。在官方提供的资料之中,选择第5项。,为什么我的没有这个包。
123.png
niceguy 发表于 2023-3-7 21:39 | 显示全部楼层
上面截图中的  N32WB03x_DFP.1.1.0.pack 不就是pack包吗
LZH休 发表于 2023-3-7 21:52 | 显示全部楼层
carol888 发表于 2023-3-7 10:26
pack支持包,官方也提供了,双击一路next就可以。在官方提供的资料之中,选择第5项。,为什么我的没有这个包 ...

\5-软件开发套件(Software Development Kit)\N32WB03x_SDK V1.3\projects\n32wb03x_EVAL\ble\rtdss
taony0321 发表于 2023-3-28 11:37 | 显示全部楼层
carol888 发表于 2023-3-7 10:26
pack支持包,官方也提供了,双击一路next就可以。在官方提供的资料之中,选择第5项。,为什么我的没有这个包 ...

我按照的时候回出现错误,不能识别文件格式,怎么回事?
C:\Keil_v5\ARM\PACK\.Web\ARM.ml-embedded-eval-kit-uc-api.pdsc: Error : cannot read file. Unrecognized file format.
C:\Keil_v5\ARM\PACK\.Web\AWS.AWS_IoT_Device_Defender.pdsc: Error : cannot read file. Unrecognized file format.
。。。
taony0321 发表于 2023-3-28 11:39 | 显示全部楼层
carol888 发表于 2023-3-7 10:26
pack支持包,官方也提供了,双击一路next就可以。在官方提供的资料之中,选择第5项。,为什么我的没有这个包 ...

我按照的时候回出现错误,不能识别文件格式,怎么回事?
C:\Keil_v5\ARM\PACK\.Web\ARM.ml-embedded-eval-kit-uc-api.pdsc: Error : cannot read file. Unrecognized file format.
C:\Keil_v5\ARM\PACK\.Web\AWS.AWS_IoT_Device_Defender.pdsc: Error : cannot read file. Unrecognized file format.
。。。
lijx1223 发表于 2023-4-4 15:22 | 显示全部楼层
请问:while(len){...} 这部分是在干吗?起什么作用?
七毛钱 发表于 2023-4-6 14:59 来自手机 | 显示全部楼层
中国科技的发展搞的老美都要制裁我国的科技公司了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:嵌入式技术专家
简介:擅长电路设计、物联网产品开发、射频产品开发,喜欢打篮球,技术交流,欢迎各位来聊~

805

主题

3383

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部