当前位置: 首页 > news >正文

外贸接单网站排名榜自己注册公司需要什么资料

外贸接单网站排名榜,自己注册公司需要什么资料,深圳低价网站建设,网站建设公司浩森宇特在大多数应用中#xff0c;UI需以某种方式连接到系统的其余部分#xff0c;并发送和接收数据。 它可能会与硬件外设#xff08;传感器数据、模数转换和串行通信等#xff09;或其他软件模块进行交互通讯。 Model类​ 所有TouchGFX应用都有Model类#xff0c;Model类除了存…在大多数应用中UI需以某种方式连接到系统的其余部分并发送和接收数据。 它可能会与硬件外设传感器数据、模数转换和串行通信等或其他软件模块进行交互通讯。 Model类​ 所有TouchGFX应用都有Model类Model类除了存储UI状态信息还可用作面向周围系统的接口。 这里周围系统我们指的是在你整个系统中用到的硬件外设以及需要进行通讯的其他任务。 通常来讲在各自的View类中直接访问其他软件模块或者硬件外设并不是个好的设计。 Model类非常适合放置任何此类接口代码原因在于 Model类有 tick() 函数会在每一帧自动调用并且可实现用于查找来自其他子模块的事件或对事件作出反应。Model类有一个指向当前活动Presenter的指针它能够将传入事件通知给UI。 以下示例为通过button控件触发数据发送给系统其他任务该任务再将数据发回touchgfx任务。 首先程序需要touchgfx以外的一个任务和两个用来收发数据的队列 然后创建一个button控件并设置交互为调用虚函数 编写向周围系统发送数据的程序 screenView.hpp#ifndef SCREENVIEW_HPP #define SCREENVIEW_HPP#include gui_generated/screen_screen/screenViewBase.hpp #include gui/screen_screen/screenPresenter.hppclass screenView : public screenViewBase { public:screenView();virtual ~screenView() {}virtual void setupScreen();virtual void tearDownScreen();virtual void function1(); protected: };#endif // SCREENVIEW_HPPscreenView.cpp#include gui/screen_screen/screenView.hppscreenView::screenView() {}void screenView::setupScreen() {screenViewBase::setupScreen(); }void screenView::tearDownScreen() {screenViewBase::tearDownScreen(); }void screenView::function1() {presenter-bc(); } screenPresenter.hpp#ifndef SCREENPRESENTER_HPP #define SCREENPRESENTER_HPP#include gui/model/ModelListener.hpp #include mvp/Presenter.hppusing namespace touchgfx;class screenView;class screenPresenter : public touchgfx::Presenter, public ModelListener { public:screenPresenter(screenView v);/*** The activate function is called automatically when this screen is switched in* (ie. made active). Initialization logic can be placed here.*/virtual void activate();/*** The deactivate function is called automatically when this screen is switched out* (ie. made inactive). Teardown functionality can be placed here.*/virtual void deactivate();virtual ~screenPresenter() {}void bc();private:screenPresenter();screenView view; };#endif // SCREENPRESENTER_HPPscreenPresenter.cpp#include gui/screen_screen/screenView.hpp #include gui/screen_screen/screenPresenter.hppscreenPresenter::screenPresenter(screenView v): view(v) {}void screenPresenter::activate() {}void screenPresenter::deactivate() {}void screenPresenter::bc() {model-toggleState(); } Model.hpp#ifndef MODEL_HPP #define MODEL_HPPclass ModelListener;class Model { public:Model();void bind(ModelListener* listener){modelListener listener;}void tick();void toggleState();protected:ModelListener* modelListener;bool state; };#endif // MODEL_HPPModel.cpp#include gui/model/Model.hpp #include gui/model/ModelListener.hpp #include ../../../../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h#ifndef SIMULATOR//******************************************************* // Define Queue handles //******************************************************* extern C {extern osMessageQueueId_t myQueue01Handle;extern osMessageQueueId_t myQueue02Handle; } #else #include stdio.h #endifModel::Model() : modelListener(0), state(0) {}void Model::tick() {}void Model::toggleState() {state !state;#ifndef SIMULATORuint16_t msg state;if (myQueue01Handle){osMessageQueuePut(myQueue01Handle, msg, 0, 0);} #endif } freertos.cvoid StartDefaultTask(void *argument) {/* USER CODE BEGIN StartDefaultTask */uint16_t msg 0;/* Infinite loop */for(;;){if (osMessageQueueGet(myQueue01Handle, msg, 0U, 1000) osOK){}}/* USER CODE END StartDefaultTask */ } 编写向UI发送数据的程序 freertos.cvoid StartDefaultTask(void *argument) {/* USER CODE BEGIN StartDefaultTask */uint16_t msg 0;uint16_t color;/* Infinite loop */for(;;){if (osMessageQueueGet(myQueue01Handle, msg, 0U, 1000) osOK){if(msg)color 0x0000;elsecolor 0xFFFF;osMessageQueuePut(myQueue02Handle, color, 0U, 0);}}/* USER CODE END StartDefaultTask */ } Model.hpp#ifndef MODEL_HPP #define MODEL_HPPclass ModelListener;class Model { public:Model();void bind(ModelListener* listener){modelListener listener;}void tick();void toggleState();void setboxColor(unsigned short color); protected:ModelListener* modelListener;bool state; };#endif // MODEL_HPP Model.cpp#include gui/model/Model.hpp #include gui/model/ModelListener.hpp #include ../../../../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h#ifndef SIMULATOR//******************************************************* // Define Queue handles //******************************************************* extern C {extern osMessageQueueId_t myQueue01Handle;extern osMessageQueueId_t myQueue02Handle; } #else #include stdio.h #endifModel::Model() : modelListener(0), state(0) {}void Model::tick() { #ifndef SIMULATOR//*******************************************************//// HANDLE MESSAGES//// Check for messages from backend, with zero timeout to// avoid blocking the UI.////*******************************************************//uint16_t msg 0;if (osMessageQueueGet(myQueue02Handle, msg, 0U, 0) osOK){setboxColor(msg);}#endif }void Model::toggleState() {state !state;#ifndef SIMULATORuint16_t msg state;if (myQueue01Handle){osMessageQueuePut(myQueue01Handle, msg, 0, 0);} #endif }void Model::setboxColor(unsigned short color) {modelListener-setboxColor(color); }#ifndef MODELLISTENER_HPP #define MODELLISTENER_HPP#include gui/model/Model.hppclass ModelListener { public:ModelListener() : model(0) {}virtual ~ModelListener() {}void bind(Model* m){model m;}virtual void setboxColor(unsigned short color) {} protected:Model* model; };#endif // MODELLISTENER_HPP#ifndef SCREENPRESENTER_HPP #define SCREENPRESENTER_HPP#include gui/model/ModelListener.hpp #include mvp/Presenter.hppusing namespace touchgfx;class screenView;class screenPresenter : public touchgfx::Presenter, public ModelListener { public:screenPresenter(screenView v);/*** The activate function is called automatically when this screen is switched in* (ie. made active). Initialization logic can be placed here.*/virtual void activate();/*** The deactivate function is called automatically when this screen is switched out* (ie. made inactive). Teardown functionality can be placed here.*/virtual void deactivate();virtual ~screenPresenter() {}void bc();virtual void setboxColor(unsigned short color); private:screenPresenter();screenView view; };#endif // SCREENPRESENTER_HPP#include gui/screen_screen/screenView.hpp #include gui/screen_screen/screenPresenter.hppscreenPresenter::screenPresenter(screenView v): view(v) {}void screenPresenter::activate() {}void screenPresenter::deactivate() {}void screenPresenter::bc() {model-toggleState(); }void screenPresenter::setboxColor(unsigned short color) {view.setbox1Color(color); }#ifndef SCREENVIEW_HPP #define SCREENVIEW_HPP#include gui_generated/screen_screen/screenViewBase.hpp #include gui/screen_screen/screenPresenter.hppclass screenView : public screenViewBase { public:screenView();virtual ~screenView() {}virtual void setupScreen();virtual void tearDownScreen();virtual void function1();void setbox1Color(unsigned short color); protected: };#endif // SCREENVIEW_HPP#include gui/screen_screen/screenView.hppscreenView::screenView() {}void screenView::setupScreen() {screenViewBase::setupScreen(); }void screenView::tearDownScreen() {screenViewBase::tearDownScreen(); }void screenView::function1() {presenter-bc(); }void screenView::setbox1Color(unsigned short color) {box1.setColor(color);box1.invalidate(); }烧录进开发板现象点击按钮box颜色在黑白之间切换
http://www.hkea.cn/news/14289109/

相关文章:

  • 广西腾达建设集团有限公司网站增城门户网站
  • 公司网站首页图片素材网站建设费 大创
  • 东莞做网站平台惠州手机模板建站
  • 贵阳网站建设是什么网页制作素材免费网站
  • 注册安全工程师建设工程网站濮阳做网站的公司有哪些
  • ae模板免费下载网站wordpress 添加按钮
  • 东莞网站seo推广优化开拓网站建设公司
  • 网站策划书注意事项高端网站建设 杭州
  • 吉林城市建设学校网站班级网页模板html源码
  • 电商网站开发视频网络推广软件全邀zjkwlgs
  • 南京建设网站公司网站最近的热点新闻
  • 做美团网站怎么做word做网站
  • 专业做淘宝网站公司吗广州娱乐场所最新通知
  • iis建设网站项目发布网
  • 做一年的网站能赚多少钱哪个地图软件可以看清村庄
  • 现在市场网站建设怎么样个人网站制作工具箱安卓版
  • wordpress网站换空间新乡网站建设价格
  • 企业建设H5响应式网站的5大好处欢迎进入河南国安建设集团有限公司网站
  • 园林专业设计学习网站百度收录教程
  • 企业为什么建设网站樟木头镇网站建设
  • 重庆网站建设兼职深圳整合营销
  • 装修网站模板建设网官网住房和城乡厅官网
  • 吉林市建设工程档案馆网站孝感市网站建设公司
  • led营销型网站建设建设网站的技巧
  • 广东网站建设制作价格学生个人网站制作软件
  • 网站建设的目地网上书店网站建设设计的收获
  • 个体网站建设wordpress备份和恢复
  • 只做美食类目产品的网站中国铁路建设监理协会官方网站
  • 平面设计跟网站建设公司邮箱登陆
  • 建站系统下载 discuz家装公司排名前20