yangjiaxu 发表于 2021-12-20 16:46

【N32WB03X】初识

本帖最后由 yangjiaxu 于 2021-12-20 16:49 编辑

国民技术,是中国安全芯片、通用MCU领军企业和国家级**技术企业,之前好像用过国密的身份*读卡器,也不知道这俩是不是一家,哈哈哈,不过近几年国产芯片崛起,真的给我很大的感触,国家终于可以与国外的科技抗衡了。
这两年芯片缺的很,之前用ST,后来用航顺,中科芯,依次缺货,再后来选择了GD和华大,也是货源紧张,然后我听说国民技术也有MCU,而且性价比还很高,所以一直有所关注,不负有心人,国民来21ic了,欢迎~~~,之前有幸参加21ic和国民举办的活动,获得了一块开发板,不错,终于可以和国民技术近距离的了解了,今天收到板子了,紧忙开箱瞅一瞅。
盒子很大气,上面印着国民技术,打开是一块开发板和一条数据线,该说不说,这条数据线一点儿用都没有,蓝牙板的接口是Type-C,发的却是miniUSB,不过发了咱就收着,我想国民也不能往回要了吧,哈哈哈哈;接下来咱们看看开发板。
蓝色开发板,有品位,看板子布局,可以看出中规中矩,MCU是支持蓝牙5.1的,采用QFN封装,外围电路看着还算是简洁,元件不是很多,以后设备小型化应该不是问题,天线采用2种制式,一种是IPEX外接出来,一种是板载PCB的天线,都可以,官方默认用的板载PCB方式,中间有一些短路帽,这些短路帽是仿真器与N32WB03X连接的,方便工程师可以快速调试。 板载4个轻触按键,一个复位,一个唤醒,2个用户按键,两个LED指示灯,右侧LQFP封装的是板载仿真器 ,采用的是CMSIS-DAP开源协议,速度很快,非常给力。本板的主要是接口用了Type-C,非常得意这个接口,五星好评。
接下来是环境搭建,我看官方支持keil,好嘛,这不栽我手里了嘛,keil的话就需要安装pack支持包,官方也提供了,双击一路next就可以。在官方提供的资料之中,选择第5项。打开一个蓝牙例程,然后在通过快速指南进行快速学习。很快就能上手了。接下来我做了个小小的项目,通过\5-软件开发套件(Software Development Kit)\N32WB03x_SDK V1.0.0\projects\n32wb03x_EVAL\ble\rtdss 例程,开启本帖的精彩之处。
首先打开文档,UG_N32WB03x 数传例程指南V1.0.pdf,看看蓝牙函数的功能和结构。知道收到数据的函数是app_usart_tx_fifo_enter;
接下来是工程,使用keil打开即可,看了一下程序结构,OK,没什么问题,主要是我们需要获取蓝牙收到的数据,然后通过程序解析实现对LED的控制。
主要修改代码如下:
uint8_t app_usart_tx_fifo_enter(const uint8_t *p_data, uint16_t len)
{
    uint32_t in_len, out_temp;
    //store data in fifo
    NS_LOG_DEBUG("%d,%d,%d\r\n",len,usart_tx_fifo_in,usart_tx_fifo_out);
    out_temp = usart_tx_fifo_out;
      
                if(p_data == 0)
                {
                        LedOn(LED1_PORT,LED1_PIN);   
                }
                else if(p_data == 1)
                        LedOff(LED1_PORT,LED1_PIN);   
               
    while(len)
    {
      if(usart_tx_fifo_in >= out_temp )
      {
            in_len = USART_TX_FIFO_SIZE-usart_tx_fifo_in;
            if(in_len > len)
            {
                in_len = len;
            }
            memcpy(&usart_tx_fifo_buf,p_data,in_len);
            len = len-in_len;
            p_data +=in_len;
            usart_tx_fifo_in = (usart_tx_fifo_in + in_len)%USART_TX_FIFO_SIZE;
            
      }
      else if(usart_tx_fifo_in < out_temp )
      {
            in_len = out_temp-usart_tx_fifo_in-1;
            if(in_len > len)
            {
                in_len = len;
            }
            memcpy(&usart_tx_fifo_buf,p_data,in_len);
            len = len-in_len;
            usart_tx_fifo_in = (usart_tx_fifo_in + in_len)%USART_TX_FIFO_SIZE;
            
            //fifo full,drop the rest data
            if(len)
            {
                NS_LOG_WARNING("F:%d,%d,%d\r\n",len,usart_tx_fifo_in,out_temp);
            }
            
            break;
      }
    }
   
    //ble treaming cut timer, active usart send after it.
    ke_timer_set(APP_CUSTS_TEST_EVT, TASK_APP, 50);
//    if(!usart_sending)
//    {
//      app_usart_tx_process();
//    }
    return len;
}修改完成之后,编译成功,下载到开发板之中。之后,通过手机随便下载的蓝牙调试助手,我习惯使用“蓝牙调试器”,在这里安利给大家,非常好用的一款调试器。选择蓝牙为NS_RDTSS,参数按我这个配置就可以了。配置好之后,点击右侧的加号进行蓝牙连接。
蓝牙连接成功之后,开发板的LED2即可亮起,说明连接成功了。接下来通过我设置的,蓝牙收到00打开LED1,01即关闭LED1,接下来看看效果。
LED1亮起,可以看到蓝牙收到00数据;
LED1关闭,可以看到蓝牙收到01数据;
这是从串口助手截取到的数据
最后,由于手机只有一个,而且视频录得比较潦草,我就不发社区了,发在了咱们21ic的群里了,最后,感谢21ic与国民技术的给力活动,让我可以接触到国民技术的新产品,非常不错,开发起来不是很麻烦,上手很快,也希望大家也来试一试哦,这是一款非常给力的蓝牙方案的开发板哦。


6552918 发表于 2021-12-20 17:49

支持一下!!!!

yljon 发表于 2021-12-20 20:22

顶一下

N32BLE 发表于 2022-1-20 08:28

yljon 发表于 2021-12-20 20:22
顶一下

感谢网友的使用分享,开发过程中有任何问题,随时发帖交流;也诚邀您参加年终活动,丰厚现金大奖等你来拿:https://bbs.21ic.com/icview-3194406-1-1.html

laocuo1142 发表于 2022-1-20 10:28

不错啊,板子也挺好

onlycook 发表于 2022-1-21 10:30

不错,挺好的板子

carol888 发表于 2023-3-7 10:26

pack支持包,官方也提供了,双击一路next就可以。在官方提供的资料之中,选择第5项。,为什么我的没有这个包。

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

中国科技的发展搞的老美都要制裁我国的科技公司了
页: [1]
查看完整版本: 【N32WB03X】初识