[N32WB03x] 【N32WB03X】初识

[复制链接]
265|6
手机看帖
扫描二维码
随时随地手机跟帖
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的控制。

主要修改代码如下:

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] == 0)
                {
                        LedOn(LED1_PORT,LED1_PIN);   
                }
                else if(p_data[0] == 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[usart_tx_fifo_in],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[usart_tx_fifo_in],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,参数按我这个配置就可以了。配置好之后,点击右侧的加号进行蓝牙连接。
005.png

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

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

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

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

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



使用特权

评论回复
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 | 显示全部楼层
不错啊,板子也挺好

使用特权

评论回复

评论

N32BLE 2022-1-21 09:08 回复TA
欢迎测试使用国民技术蓝牙芯片。多多分享使用的体验和实验。 
onlycook| | 2022-1-21 10:30 | 显示全部楼层
不错,挺好的板子

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则