智嵌物联ZQWL可编程串口IO控制器(略懂C语言即可使用)

概述智嵌物联串口io模块提供了用户编程接口,增强了应用的灵活性,简化了用户的编程的难度,缩短了开发产品的周期;用户不需要了解io板卡底层驱动,只需将控制逻辑和通讯协议嵌入其中即可。
串口io模块提供keil开发环境下的函数库,功能强大,使用方便。开发人员只需略懂c语言(提供详尽技术指导和咨询)就可以在本司串口io平台上开发所需功能。
开关量相关函数write_relay函数函数原型如下:
该函数需被其他函数调用才能使用。
举例:
write_relay(0,1);//闭合第一路继电器的常开触点,断开常闭触点。
write_relay(1,0);//断开第二路继电器的常闭触点,打开常开触点。
在使用过程中,注意传入的参数(channel,status)不能出错,channel的范围为0到n,n为控制板io输出点个数;status的值只能为0或1。参数超出定义范围时,函数将返回错误信息。
read_relay函数函数原型如下:
该函数需被其他函数调用才能使用。
举例:
unsigned char temp = 0;
temp = read_relay(0);//读取第一路的输出状态并将结果赋给temp。
temp = read_relay(3);//读取第四路的输出状态并将结果赋给temp。
然后根据temp的值即可判断当前io输出的状态:
temp 为0则:常开触点断开,常闭触点闭合。
temp 为1则:常闭触点断开,常开触点闭合。
temp 为2则:传入的参数channel错误。
temp 为3则:其他未知错误。
开关量输入相关函数read_in函数函数原型如下:
该函数需被其他函数调用才能使用。
举例:
unsigned char temp = 0;
temp = read_in(0);//读取第一路的输入状态并将结果赋给temp。
temp = read_relay(3);//读取第四路的输入状态并将结果赋给temp。
然后根据temp的值即可判断当前io输入的状态:
temp 为0则:该路为无信号输入(逻辑值为0,低电平)。
temp 为1则:该路为有信号输入(逻辑值为1,高电平)。
temp 为2则:传入的参数channel错误。
串口通讯相关函数智嵌物联双串口io控制板均有rs232和rs485接口,这两种接口可以独立使用。
串口接收缓冲器以及缓冲器大小在“zqwl_io_xbnrrx.h”文件中有定义:
rs232_init函数函数原型如下:
该函数为rs232串口初始化函数,如果要使用rs232通讯功能,必须调用该函数来初始化通讯相关参数。
举例:
注意该函数的第三个参数parity,必须为以下三种:

如果该函数调用成功则返回值为0,否则返回相应的错误信息。
rs485_init函数函数原型如下:
该函数为rs485串口初始化函数,如果要使用rs485通讯功能,必须调用该函数来初始化通讯相关参数。
举例:
注意该函数的第三个参数parity,必须为以下三种:

如果该函数调用成功则返回值为0,否则返回相应的错误信息。
rs232_send_data函数函数原型如下:
该函数为串口发送函数,调用该函数前必须正确调用rs232_init()函数。
举例1,直接发送字符串:
rs232_send_data(1234567890,10);
举例2,将数组中数据发送出去:
unsigned char temp[10];
rs232_send_data(temp,10);
rs485_send_data函数函数原型如下:
该函数为串口发送函数,调用该函数前必须正确调用rs485_init()函数。
举例1,直接发送字符串:
rs485_send_data(1234567890,10);
举例2,将数组中数据发送出去:
unsigned char temp[10];
rs485_send_data(temp,10);
rs232_recv_handler函数函数原型如下:
该函数为类似中断函数,不能被其他函数调用。必须在正确调用rs232_init()函数后该函数才能生效。建议在该函数中首先将buff中的数据复制出来,然后退出,在别的函数中进行数据的处理。
举例:
rs485_recv_handler函数函数原型如下:
该函数为类似中断函数,不能被其他函数调用。必须在正确调用rs485_init()函数后该函数才能生效。建议在该函数中首先将buff中的数据复制出来,然后退出,在别的函数中进行数据的处理。
举例:
系统指示灯相关函数该系列控制板有1个系统led指示灯,可以用来指示系统运行的状态。
run_led_toggle函数函数原型如下:
此函数实现系统led的状态翻转功能(调用后原来熄灭则会点亮,原来点亮则会熄灭)。
举例:
run_led_toggle();//调用后,指示灯状态翻转。
run_led_on函数函数原型如下:
举例:
run_led_on();//点亮系统led指示灯
run_led_off函数函数原型如下:
举例:
run_led_off();//熄灭系统led指示灯
延时相关函数delay_ms函数函数原型如下:
举例:
delay_ms(500);//延时500毫秒。
delay_ms(2000);//延时2000毫秒。
delay_us函数函数原型如下:
举例:
delay_us(500);//延时500微秒。
delay_us(999);//延时999微秒。
定时器相关函数timer_irqhandler函数函数原型如下:
该函数为中断函数,不能被其他函数调用。每隔1ms中断一次,用户以此为基础可以设计出各种定时服务功能。例如设计一个10ms定时服务功能:
看门狗相关函数iwdg_init函数函数原型如下:
举例:
iwdg_init(wd_1000ms);//设置看门狗定时器为1000毫秒。
iwdg_init(wd_2000ms);//设置看门狗定时器为2000毫秒。
feed_dog函数函数原型如下:
如果调用了iwdg_init(),那么, feed_dog()函数就必须周期调用,并且调用周期必须小于看门狗定时器设定值。否则,系统将不断的复位。
建议在产品开发阶段先不用看门狗功能,产品发布时再加上此功能。
flash相关函数该系列控制板均提供128字节的用户flash空间,可以用来存放控制板掉电后需要保存的参数,比如波特率,地址码等。
user_flash_write函数函数原型如下:
举例:
user_flash_read函数函数原型如下:
举例:
系统异常相关函数hardfault_handler函数函数原型如下:
当系统有异常时,比如指针操作不当、数组操作不当等,会进入此中断。
系统复位相关函数mcu_soft_reset函数函数原型如下:
调用该函数后,系统将复位。
can相关函数只有控制板硬件具有can通讯的版本才支持can相关函数。
can相关的数据结构定义:
can_configuration函数使用can通讯前必须正确调用该函数。
can_recv_irqhandler函数例如:
can_send_data函数main函数该函数为系统入口函数,提供如下示例:
模块编程开发环境该模块开发环境使用keil 5.10版本(其他版本未验证),有关keil的使用教程请参考其他开发文档, keil5的安装包在mdk5.zip里面。
在“软件包”里有该控制板的keil5工程
打开“软件包”:
此即为该控制板的工程文件, 打开文件:
打开“proj”:
双击上图中的“pro”,则可以通过keil软件打开该工程,工程配置如下:
有关keil软件的使用请自己查找资料学习。
工程编译后会生成一个io_app.bin文件(路径:zqwl_io_app(双串口+can)_v1.2\project\bin):
如果是其他网络模块,则需要将“xbxra16_v1.0.lib”从工程中移除,再添加上相对应的lib文件即可(路径在:zqwl_io_app\app):
程序下载智嵌串口io模块的固件是通过《智嵌物联 串口继电器控制板固件升级工具》来下载程序的:
点击上图的“浏览”,将编译好的io_app.bin文件载入软件,然后点“打开”,接点“开始升级”,即可实现固件的下载,下完成后自动运行:
程序出错处理在调试程序时难免会出现程序出错,出错后可能造成不能直接对模块进行固件下载,这时需要按照如下步骤操作:
第一步:断电。
第二步:将拨码开关全部拨到off状态(强制进入升级固件状态)。
第三步:上电,此时看到模块的运行灯快速闪烁,说明进入到了固件下载模式,此时就可以对模块下载固件了。注意此过程中要保证拨码开关一直全off状态。
注意,智嵌物联网zqwl的部分网络io控制器也支持编程功能,如型号zqwl-net8880m,smart io,该类产品功能更强大。除此之外,智嵌物联zqwl新推出的smart gw串口服务器也具有编程功能,该类产品通讯接口支持4g,网口,wifi,can,rs485等,部分产品也具有io扩展功能,性能更强大,使用更方便。

华为与高通的处理器性能差距到底有多大?
存储和相关基础知识
消息称高通骁龙888工程机功耗控制优秀
锐迪科推出全球首颗CMOS单芯片TD射频芯片
华为P20Pro评测 值不值得买
智嵌物联ZQWL可编程串口IO控制器(略懂C语言即可使用)
铝型材的分类及应用是什么?
高精度数字型倾角传感器技术参数
英飞凌推出全新射频功率LDMOS晶体管
燧原科技携手异构计算伙伴成立“数据中心XPU异构生态联盟”
2018年智能手机呈现的14大主流趋势 VR/5G技术是战场
中国移动 5G 700MHz 定位:补充 2.6GHz 上行和农村广覆盖
南桥芯片详解
光纤接入有哪些类型 光纤的连接方式有几种
2020年的VR消费将达到11亿美元
相约CCBN | 千视邀您零距离体验“超高清 轻量化 全NDI演播室”
飞机零部件从网上下单订购将会成为航空设备采购的新趋势
三星计划明年一季度与二季度再次逐季调涨20%
PCB检查要点有哪一些
您身边的翻译官,糖果S20正式发布,售价仅1999元