包裹是什么意思| 甲磺酸倍他司汀片治什么病| 甲状腺弥漫性改变是什么意思| 高尿酸有什么症状| 自然什么意思| 梦见车掉水里了什么征兆| 黑乌龙茶属于什么茶| shuuemura是什么牌子| 什么不什么当| 小猫为什么会踩奶| 脂肪肝吃什么食物| 复方氨酚苯海拉明片是什么药| 吃氨糖有什么好处和坏处| 一箭双雕是什么意思| 精索静脉曲张挂什么科| 太安鱼是什么鱼| 美国为什么不敢动朝鲜| 豆浆喝多了有什么坏处| 排卵期同房后要注意什么| 表现优异是什么意思| 湿气太重吃什么药| 九月24日是什么星座| 倒牙是什么意思| 白癜风吃什么药| 毛滴虫病是什么病| 痣为什么会越来越多| 十八大什么时候召开的| 樱桃不能和什么一起吃| 血管很明显是什么原因| iwc手表是什么牌子| 平身是什么意思| 大便陶土色是什么颜色| 9.9号是什么星座| 发烧可以吃什么水果| 海绵体供血不足吃什么药| 片反过来念什么| 女人做春梦预示着什么| 半夜脚抽筋是什么原因| ect是什么检查| 肌酐高是什么原因造成的| 毓字五行属什么| sage是什么颜色| 高血压吃什么食物| 血常规主要检查什么| 黄眉大王是什么妖怪| 胆汁为什么会反流到胃里面| 什么病不能吃空心菜| 尿急吃什么药效果最好| 4.28什么星座| 06属什么生肖| 孕妇头疼可以吃什么药| 肾动脉彩超主要查什么| 雌激素是什么| 机能是什么意思| 男人胸前有痣代表什么意思| 心脏大是什么病严重吗| 胆脂瘤是什么病| 王羲之兰亭序是什么字体| 士加一笔是什么字| 为什么突然就细菌感染了| 怀孕能吃什么水果| 流口水什么原因| tm是什么意思| cold什么意思| 月月红是什么花| 前胸后背出汗是什么原因造成的| 打桩是什么意思| 有鳞状细胞是什么意思| 千里莺啼什么映什么| 吃什么东西下火| 三叉神经痛挂什么科就诊| 羊胡子疮用什么药膏| fat是什么意思| 显赫是什么意思| 木元念什么| 婴幼儿屁股红擦什么| 谭震林是什么军衔| 柿子与什么食物相克| 复方什么意思| 产后抑郁症有什么表现症状| 梨子煮水喝有什么功效| 狗能吃什么| 心里害怕紧张恐惧是什么症状| 由是什么意思| 什么叫阴虚什么叫阳虚| cr值是什么| 圣水是什么| 1977年是什么年| 手掌上的三条线分别代表什么| 浑身出汗是什么原因| 脚掌疼是什么原因| 脾湿吃什么中成药| 落井下石什么意思| 泌尿感染吃什么药最好| 糖霜是什么| 孩子发烧挂什么科| 杀了神经的牙为什么还疼| 鸡血藤长什么样子图片| 藏在我回忆里的那个人什么歌| 子宫下垂吃什么药| 肝右叶钙化灶是什么意思| 筛子是什么意思| 做生意的人最忌讳什么| 不忘初心方得始终是什么意思| nox是什么意思| coscia是什么品牌| 自变量是什么| 五福临门是什么生肖| 吃什么药怀孕最快| ad医学上是什么意思| 有故事的人是什么意思| 什么生木| 樟脑是什么东西| 阴阳两虚吃什么药最好| 蜕膜是什么| 早晨醒来口苦是什么原因| 1点到3点是什么时辰| 牙膏洗脸有什么好处| 籍贯填写什么| 程五行属什么| 中国肤药膏有什么功效| 高岗为什么自杀| 阴虚吃什么食物补得快| 什么是紫癜| 鼻甲肥大吃什么药最好| 阴囊潮湿是什么原因造成的| 消化酶缺乏是什么症状| 取环后月经量少是什么原因| 什么属于包皮过长| 风花雪月是什么生肖| 音欠读什么| 老年人睡眠多是什么原因| 什么人容易得圆锥角膜| 拍胸片能检查出什么| 带环了月经推迟不来什么原因| 为什么每天晚上睡觉都做梦| 回族人为什么不吃猪肉| 中暑发烧吃什么药| 少女怀春是什么意思| 1942年是什么年| 前列腺吃什么药| 取其轻前一句是什么| 4月10号是什么星座| 李荣浩什么学历| 雷人是什么意思| 嘴碎什么意思| 位图是什么意思| 全身性疾病是什么意思| 湿热内蕴证有什么症状| 吉吉念什么| 一个三点水一个令念什么| ast什么意思| d是什么单位| 舌头上有红点是什么原因| 医学上是什么意思| k金是什么金| 夜盲症缺什么维生素| 一直咳嗽不好是什么原因| 什么叫脂肪瘤| 吃什么补白蛋白最快| 为什么出汗特别多| 10周年结婚是什么婚| 骨髓水肿是什么意思| 脚后跟痛是什么原因| 坐月子是什么意思| 脸上长疙瘩是什么原因| 阴道炎应该吃什么药| negative是什么意思| 什么东西快速补血| 巧克力和什么不能一起吃| 什么药降肌酐最快最好| epa是什么| 知识是什么意思| 百合和什么一起煮可以治失眠| 梦见系鞋带是什么意思| 为什么会得淋巴肿瘤| 什么是原发性高血压和继发性高血压| 肋间神经炎吃什么药| 家庭烧烤准备什么食材| 女性梅毒有什么症状| 大男子主义的男人喜欢什么样的女人| 狗狗产后吃什么下奶多| 女主是什么意思| 纵欲过度是什么意思| usr是什么意思| 兔子的天敌是什么动物| 皓是什么意思| 夕阳朝乾是什么意思| 尿胆红素高是什么原因| 脚突然抽筋是什么原因| acer是什么牌子的电脑| 卖关子是什么意思| 旦上面加一横是什么字| 维酶素片搭配什么药治萎缩性胃炎| 炖牛肉放什么调料| 什么人不能吃西瓜| 为什么丰胸霜一抹就变大| 宝宝大便有泡沫是什么原因| 28岁属什么生肖| 孕初期有什么症状| 佛法无边是什么意思| 奥美拉唑什么时候吃最好| 拼图用什么软件| 导盲犬一般是什么品种| 什么是免疫力| 封建思想是什么意思| 泄泻病是什么意思| 流清鼻涕吃什么药| 蛇与什么属相相克相冲| 白细胞高是什么病| 中老年人喝什么奶粉好| 偷鸡不成蚀把米是什么生肖| 取环挂什么科| 磁共振是检查什么的| 累的什么| 动土破土是什么意思| 角逐是什么意思| 经常胃胀气是什么原因引起的| 排酸肉是什么意思| 默哀是什么意思| 苦瓜和什么不能一起吃| 黄花菜都凉了是什么意思| 梦到鞋子是什么意思| 什么病不能吃空心菜| 大千是什么意思| 大便潜血什么意思| 肝阴虚吃什么药| 失眠睡不着吃什么药好| 左侧肋骨疼是什么原因| 异常的反义词是什么| 望尘莫及的及是什么意思| 梦见抬棺材是什么意思| 结婚10年是什么婚| 胃疼吃点什么药| 吃什么全面补充维生素| 藏语扎西德勒是什么意思| lop是什么意思| 心什么胆什么| ab型和ab型生的孩子是什么血型| 68年属什么生肖多少岁| 尿路感染看什么科室| 早搏有什么危害| 胃胀气打嗝是什么原因| 为什么会有地震| 橙色五行属什么| 凝血酶是什么| 什么是辅警| 乳腺导管扩张吃什么药| 葡萄胎是什么原因造成的| 相对湿度是什么意思| 男人脚肿是什么病的前兆| 尿酸检查什么项目| 押韵是什么意思| 头疼头晕是什么原因| 表白送什么礼物好| 戒指上的s925是什么意思| 心理医生挂什么科| 牙齿抛光是什么意思| 孕妇多吃什么水果比较好| 梦见怀孕是什么征兆| 梦见猫是什么预兆| 英雄难过美人关是什么生肖| 胎儿畸形是什么原因造成的| 不要问为什么| 百度
打印
[APM32E0]

牙龈出血是什么原因

[复制链接]
270|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuyu40|  楼主 | 2025-7-29 19:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wuyu40 于 2025-7-29 19:06 编辑

? 极海APM32E030R芯片是32 位 Arm?Cortex?-M0+内核,最高工作频率:72MHz,Flash 存储器:64KB,SRAM 存储器:8KB
开发方式如下:
1)连接 H2/H3 或 H4/H5 可使用板载 Geehy LINK 进行串口调试
2)断开 Geehy LINK 连接后,第三方调试工具可通过 JP1 连接仿真器进行 MCU 烧录调试
3)Type-C(数据通信)直接连接 PC 端进行 MCU 仿真调试
4)使用keil v 5.36编译环境
到官网找到如下文件:

使用的操作系统为win10(GEEHY-LINK(WinUSB)设备不支持在 Windows7 上免驱使用)假定已经安装keil (版本 V5.29 以上),安装Geehy.APM32E030_DFP.1.0.3也就是mcu支持包,阅读用户手册,按照指示连接硬件;该固件基于 CMSIS-DAP V1,会使用 USB 枚举成一个 HID 和 MSC 设备。
使用 USB 线成功连接电脑后,设备管理器上会出现:CMSIS DAP winUSB

在 keil 软件上配置选择使用 SW 模式或者 JTAG 模式。点击“Options for Target” ,在打开的界面中选择“Debug”,然后再选择“CMSIS-DAP Debugger”,如图 :

点击“Settings”按钮进入设置界面,选择 SWD 或者 JTAG 模式以及频率:

完成以上配置之后移植Oled工程,步骤如下:
  复制必要文件到已有工程中,然后在项目管理器中添加OLED相关文件:

添加头文件路径:

按照以下代码将oled的4根线(包含VCC、GND)接到开发板引脚上:
//-----------------OLED端口定义----------------
#define OLED_SCL_Clr()  GPIO_ClearBit(GPIOB, GPIO_PIN_8)  //SCL
#define OLED_SCL_Set() GPIO_SetBit(GPIOB,GPIO_PIN_8)
#define OLED_SDA_Clr() GPIO_ClearBit(GPIOB, GPIO_PIN_9)//DIN
#define OLED_SDA_Set() GPIO_SetBit(GPIOB,GPIO_PIN_9)
修改oled_init函数:
void OLED_Init(void)
{GPIO_Config_T gpioConfig;
    RCM_EnableAHBPeriphClock(RCM_AHB_PERIPH_GPIOB);
    /* LED2 GPIO configuration */
    gpioConfig.pin = GPIO_PIN_8;
    gpioConfig.mode = GPIO_MODE_OUT;
    gpioConfig.outtype = GPIO_OUT_TYPE_PP;
    gpioConfig.speed = GPIO_SPEED_50MHz;
    gpioConfig.pupd = GPIO_PUPD_NO;
    GPIO_Config(GPIOB, &gpioConfig);
    /* LED3 GPIO configuration */
    gpioConfig.pin = GPIO_PIN_9;
    GPIO_Config(GPIOB, &gpioConfig);
//OLED_RES_Clr();
delay_ms(200);
//OLED_RES_Set();
OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel
OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
OLED_WR_Byte(0x40,OLED_CMD);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
OLED_WR_Byte(0x81,OLED_CMD);//--set contrast control register
OLED_WR_Byte(0xCF,OLED_CMD);// Set SEG Output Current Brightness
OLED_WR_Byte(0xA1,OLED_CMD);//--Set SEG/Column Mapping    OLED_WR_Byte(0xC8,OLED_CMD);//Set COM/Row Scan Direction   OLED_WR_Byte(0xA6,OLED_CMD);//--set normal display
OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
OLED_WR_Byte(0x3f,OLED_CMD);//--1/64 duty
OLED_WR_Byte(0xD3,OLED_CMD);//-set display offsetShift Mapping RAM Counter (0x00~0x3F)
OLED_WR_Byte(0x00,OLED_CMD);//-not offset
OLED_WR_Byte(0xd5,OLED_CMD);//--set display clock divide ratio/oscillator frequency
OLED_WR_Byte(0x80,OLED_CMD);//--set divide ratio, Set Clock as 100 Frames/Sec
OLED_WR_Byte(0xD9,OLED_CMD);//--set pre-charge period
OLED_WR_Byte(0xF1,OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
OLED_WR_Byte(0xDA,OLED_CMD);//--set com pins hardware configuration
OLED_WR_Byte(0x12,OLED_CMD);
OLED_WR_Byte(0xDB,OLED_CMD);//--set vcomh
OLED_WR_Byte(0x40,OLED_CMD);//Set VCOM Deselect Level
OLED_WR_Byte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)
OLED_WR_Byte(0x02,OLED_CMD);//
OLED_WR_Byte(0x8D,OLED_CMD);//--set Charge Pump enable/disable
OLED_WR_Byte(0x14,OLED_CMD);//--set(0x10) disable
OLED_WR_Byte(0xA4,OLED_CMD);// Disable Entire Display On (0xa4/0xa5)
OLED_WR_Byte(0xA6,OLED_CMD);// Disable Inverse Display On (0xa6/a7)
OLED_Clear();
OLED_WR_Byte(0xAF,OLED_CMD);
}
其他需要进行头文件和数据类型定义修改,按照报错提示进行;接下来加入ADC转换代码;
使用了PA0引脚输入模拟信号,这个引脚接到光照传感器模拟信号端;
void ADCInit(void)
{GPIO_Config_T gpioConfig;
    ADC_Config_T  adcConfig;
    /* RCM Enable*/
    RCM_EnableAHBPeriphClock(RCM_AHB_PERIPH_GPIOA);
    RCM_EnableAPB2PeriphClock(RCM_APB2_PERIPH_ADC1);
    RCM_EnableAPB2PeriphClock(RCM_APB2_PERIPH_SYSCFG);
    /* GPIO Configuration */
    gpioConfig.pin = GPIO_PIN_0;
    gpioConfig.mode = GPIO_MODE_AN;
    gpioConfig.pupd = GPIO_PUPD_PU;
    GPIO_Config(GPIOA, &gpioConfig);
    /* ADC Configuration */
    ADC_Reset();
    ADC_ConfigStructInit(&adcConfig);
    /* Set resolution*/
    adcConfig.resolution = ADC_RESOLUTION_12B;
    /* Set dataAlign*/
    adcConfig.dataAlign  = ADC_DATA_ALIGN_RIGHT;
    /* Set scanDir*/
    adcConfig.scanDir    = ADC_SCAN_DIR_UPWARD;
    /* Set convMode continous*/
    adcConfig.convMode   = ADC_CONVERSION_CONTINUOUS;
    /* Set extTrigConv*/
    adcConfig.extTrigConv  = ADC_EXT_TRIG_CONV_TRG0;
    /* Set TrigEdge*/
    adcConfig.extTrigEdge    = ADC_EXT_TRIG_EDGE_NONE;
    ADC_Config(&adcConfig);
    ADC_ConfigChannel(ADC_CHANNEL_0, ADC_SAMPLE_TIME_239_5);
    /* Enable Interrupt*/
    ADC_EnableInterrupt(ADC_INT_CS);
    NVIC_EnableIRQRequest(ADC1_IRQn, 2);
    /* Calibration*/
    ADC_ReadCalibrationFactor();
    /* Enable ADC*/
    ADC_Enable();}
ADC转换使用了中断进行采集数据,并且在中断函数中调用了以下函数:
void ADC_Isr()
{
    uint32_t adcData = 0;
    uint32_t voltage = 0;
    if (ADC_ReadIntFlag(ADC_INT_FLAG_CS) == SET)
    {
        /* The interrupt flag bit must be cleared first. */
        ADC_ClearIntFlag(ADC_INT_FLAG_CS);
        /* Read ADC Conversion value */
        adcData = ADC_ReadConversionValue();
        /*  voltage(mV) =  adcData * (3300mV / 4095) */
        voltage = (adcData * 3300) / 4095;
  ADC_voltage=voltage;
        /* output to serial port */
      // 设置全局变量用来进行oled显示
    }
}
将光照信号经ADC转换之后在oled上显示,主程序如下:
char adc01[12];
ADCInit();
    /* Wait until ADC is ready */
    while (!ADC_ReadStatusFlag(ADC_FLAG_ADRDY));
    ADC_StartConversion();
OLED_Init();
OLED_ColorTurn(0);
OLED_DisplayTurn(0);
while(1)
{OLED_Refresh();
delay_ms(5000);
OLED_Clear();
sprintf(adc01, "%d", ADC_voltage);
OLED_ShowString(8,16,adc01,16,1);
OLED_ShowString(20,32,"2014/05/01",16,1);
OLED_ShowString(0,48,"ADC:",16,1);  
OLED_ShowString(8,16,str,16,1);
OLED_ShowString(63,48,adc01,16,1);
OLED_Refresh();}
接线图如下:




沙发
发光的梦| | 2025-7-30 07:07 | 只看该作者
这I2C通讯是使用了GPIO模拟的方式吗?
板凳
fanzq2005| | 2025-7-30 08:29 | 只看该作者
收到,谢谢分享,大家一起进步!
地板
wuyu40|  楼主 | 2025-7-30 15:59 | 只看该作者
发光的梦 发表于 2025-7-30 07:07
这I2C通讯是使用了GPIO模拟的方式吗?

是的
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

52

帖子

1

粉丝
颈部疼痛挂什么科 雷尼替丁主要治什么胃病 割掉胆对人有什么影响 副军长是什么军衔 红细胞平均体积偏低是什么意思
未可以加什么偏旁 no是什么 吃中药忌口都忌什么 樱桃什么季节成熟 手脚软无力是什么原因引起的
什么积木 胎盘血窦是什么意思 玙字五行属什么 右眼睛跳是什么预兆 再生纤维是什么面料
黎字五行属什么 卩是什么意思 蛋白粉什么时候喝效果最好 查血挂什么科 不丹为什么不跟中国建交
sunnyday是什么意思hcv7jop9ns3r.cn 什么是气溶胶hcv8jop4ns5r.cn 缺铁性贫血吃什么好hcv7jop5ns2r.cn 吃什么对子宫好hcv8jop1ns7r.cn vave是什么意思hcv8jop0ns3r.cn
花椒水泡脚有什么好处hcv8jop1ns6r.cn es什么意思hcv8jop5ns2r.cn 做梦放鞭炮什么意思hcv8jop8ns1r.cn 1912年属什么生肖hcv8jop6ns3r.cn 女性尿浑浊是什么原因hcv9jop3ns8r.cn
由是什么意思hcv7jop6ns0r.cn mini是什么车hcv7jop4ns5r.cn 慢性炎症是什么hcv8jop8ns4r.cn rap是什么意思inbungee.com 悬脉是什么意思hcv8jop3ns3r.cn
口若悬河什么意思hcv8jop5ns5r.cn 出汗臭是什么原因hcv8jop7ns0r.cn 泛指是什么意思hcv8jop6ns3r.cn 十二点是什么时辰hcv8jop3ns3r.cn 黄芪主治什么病hcv9jop7ns4r.cn
百度